|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
请教HOTPOWER大虾。看了您的KEIL UART例程。波特率设置? |
作者:lpcfans 栏目:ARM技术 |
按周工 的ADS例程。U0DLL应该是72,您在KEIL中设置成94,依据是什么呢?请指教,谢谢。 U0DLM = 0; U0DLL = 94;//95;//96;//98;//97; 另:您的ISP电路中的1413是MC1413吗? 谢谢。。。。 |
2楼: | >>参与讨论 |
作者: lpcfans 于 2006/5/11 13:33:00 发布:
还在农忙??? |
3楼: | >>参与讨论 |
作者: lpcfans 于 2006/5/12 8:34:00 发布:
deng...... |
4楼: | >>参与讨论 |
作者: hotpower 于 2006/5/12 21:15:00 发布:
哈哈,给你个例程 注意: 以下的*5的5是MSEL=5,一般设置为4,因为我要求速度快 U0DLL = 94;//95;//96;//98;//97; 是我做实验的,计算值在90左右.(在MSEL=4时) #define Fosc 11059200 //CRYSTAL frequence,10MHZ~25MHZ,should be the same as actual status. //应当与实际一至晶振频率,10MHZ~25MHZ,应当与实际一至 #define Fcclk (Fosc * 5) //SYSTEM frequence,should be (1~32)multiples of Fosc,and should be equal or less than 60MHZ.html">60MHZ. //系统频率,必须为Fosc的整数倍(1~32),且<=60MHZ #define Fcco (Fcclk * 5) //CCO frequence,should be 2、4、8、16 multiples of Fcclk, ranged from 156MHz to 320MHz. //CCO频率,必须为Fcclk的2、4、8、16倍,范围为156MHz~320MHz #define Fpclk (Fcclk / 1) * 1 //VPB clock frequence , must be 1、2、4 multiples of (Fcclk / 4). //VPB时钟频率,只能为(Fcclk / 4)的1、2、4倍 #define UART_BPS 9600 // 串口通讯波特率 void UartObj::UartInit(void) { unsigned int Fdiv; PINSEL->PIN_SEL0 |= (P0_0_TXD0 << P0_0_PINSEL) | (P0_1_RXD0 << P0_1_PINSEL); //设置I/O连接到UART0 U0->LCR = 0x83; // DLAB=1,允许设置波特率 Fdiv = (Fpclk / 16) / UART_BPS; // 设置波特率 U0->DLM = Fdiv / 256; U0->DLL = Fdiv % 256; U0->LCR = 0x03; U0->FCR = 0xc7; /* 初始化FIFO 接收14个字节就中断*/ U0->IER = 0x01; /* 允许接收发送中断 */ RxCount = TxCount = 0; RxdCount = TxdCount = 0; for (int i = 0; i < 128; i ++) { RxBuffer[i] = TxBuffer[i] = 0; } } |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |