打印
[ZLG-ARM]

CortexM0菜鸟之串口轮询(第9天作业)

[复制链接]
2695|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hotpower|  楼主 | 2010-9-7 00:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "uart.h"
UartObj::UartObj (void)
{
    UartInit();
}
void UartObj::UartInit(void)
{
unsigned int Fdiv;
//位域写法
IOCON.TXD.Bits.FUNC = IOCON_TXD;
IOCON.TXD.Bits.MODE = IOCON_PULLUP;
//寄存器写法
// IOCON.TXD.Regs = (IOCON_TXD << IOCON_FUNC)
//                | (IOCON_PULLUP << IOCON_MODE);
//位域写法
IOCON.RXD.Bits.FUNC = IOCON_RXD;
IOCON.RXD.Bits.MODE = IOCON_PULLUP;
//寄存器写法
// IOCON.RXD.Regs = (IOCON_RXD << IOCON_FUNC)
//                | (IOCON_PULLUP << IOCON_MODE);

   SYSCON.SYSAHBCLKCTRL.Bits.UARTCLK = 1;//使能UART的时钟
   SYSCON.UARTCLKDIV.Regs = 1;//UART时钟分频器值
// U0.LCR.Regs = 0x83;
//位域写法
// U0.LCR.Bits.DLAB = 1;//除数锁存器访问使能
// U0.LCR.Bits.WordLengthSelect = 3;//8位串口数据位
//寄存器写法
U0.LCR.Regs = (1 << LCR_DLAB)//除数锁存器访问使能
             | (3 << LCR_WordLengthSelect);//8位串口数据位
//设置波特率
    Fdiv = (((SystemFrequency / SYSCON.SYSAHBCLKDIV.Regs )/ SYSCON.UARTCLKDIV.Regs) / 16) /UART_BPS ; /*baud rate */
U0.DLM.Regs = Fdiv / 256;
U0.DLL.Regs = Fdiv % 256;
// U0.LCR.Regs = 3;
U0.LCR.Bits.DLAB = 0;//除数锁存器访问禁止
//寄存器写法
// U0.LCR.Regs = (0 << LCR_DLAB)//除数锁存器访问禁止
//             | (3 << LCR_WordLengthSelect);//8位串口数据位
U0.FCR.Regs = 7;
}
void UartObj::Send(unsigned char ch)
{
while(!U0.LSR.Bits.THRE);
U0.THR.Regs = ch;
}
bool UartObj::Receive(unsigned char & ch)
{
bool Result;
Result = U0.LSR.Bits.RDR;
if (Result)
{
  ch = U0.RBR.Regs;
}
return Result;
}

HotPower@163.com  2010.9.6 23:48 于雁塔菜地

菜农通讯工具:

新浪网页版:http://t.sina.com.cn/hotpower
新浪手机版:http://t.sina.cn/hotpower

网 易微 博:http://t.163.com/hotpower
腾讯QQ:    1270688699

菜农邮箱:     HotPower@163.com
菜农导航: http://www.hotpage.net.cn/

相关帖子

沙发
amini| | 2010-11-9 16:29 | 只看该作者
????

使用特权

评论回复
板凳
yoyowodeai| | 2010-11-9 21:28 | 只看该作者
学习下

使用特权

评论回复
地板
coco11| | 2010-12-29 15:07 | 只看该作者
顶。

使用特权

评论回复
5
hotpower|  楼主 | 2011-1-25 16:10 | 只看该作者
顶,准备开战

使用特权

评论回复
6
明天我还来| | 2011-1-26 20:04 | 只看该作者
顶是必须的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1460

主题

21619

帖子

506

粉丝