نوشته اصلی توسط
vivid
ممنون من چند روزی هست با این سریال مشغولم
البته بگم فکر کنم چون من تا بحال از ابزار جانبی استفاده نکردم مشکل در تنظیم پارامترهای pll باشه
در هر صورت برنامه من:
#include <LPC23xx.H>
#include "stdio.h"
int main (void)
{
PINSEL0 |= 0x00500000;
// U2FDR = 0;
U2FCR = 7;
U2LCR = 0x83;
U2DLL = 78;
U2DLM = 0;
U2LCR = 3;
while(1)
{
printf("\n UART TEST");
}
}
M وN رو هم 11و 0 گذاشتم CLK رو هم C/4
دیگه فکرم بجایی قد نمیده
از طریق SIMULATOR هم اقدام کردم جواب نگرفتم
البته میدونم از بی سوادیمه
واینم بگم من سعیم این بوده با وجود BOOTLOADER USB با پورت 2 سریال کار کنم
ممنون
سلام
برای اینکه بتونید از توابع کتابخانهی stdio.h در پورت سریال استفاده کنید، حتما باید فایل retarget.c رو با یه تغییراتی به برنامهتون اضافه کنید. زحمت این کارو قبلا آقای تروشه کشیدن که من الان برنامه شون رو البته برای پورت سریال 1 براتون میذارم.
برای اینکه پورت سریال 2 رو فعال کنید باید از تنظیمات زیر استفاده کنید.(البته خودمم هنوز تست نکردم)
PINSEL0=0x00500000; //set p0.10 and p0.11 to TXD2 and RXD2
U2LCR=0x83; //set frmae=8n1 and DLAB=1
U2DLL=0x34; //baud rate=19200bps @12MHz crystal, 32MHz cclk,16MHz Pclk
U2DLM=0x0; //baud rate=19200bps @12MHz crystal, 32MHz cclk,16MHz Pclk
U2LCR=0x03; //DLAB=1
U2FCR=0x07;
در ضمن برای ارسال و دریافت هم باید از این توابع استفاده کنید:
unsigned char getchar (void){
while(!(U2LSR & RDR));
return (U2RBR);
}
void putchar (unsigned char cin){
while(!(U2LSR & THRE));
U2THR=cin;
}
موفق باشید