我现在在用R8C/1A,但是调试I2C和串口老有问题,I2C我拷贝以前我R8C/11的一个程序(用IO口模拟出来的总线),但是老不行,我自己现在想用寄存器编写,但是也不OK,版主或者哪位仁兄有相关例程能否让小弟看看!!!串口也是这样,感觉没错啊,下面贴上串口程序,有什么问题?
UART0初始化////////////////
void uart0init(void)
{
u0mr=0x65; // 8bit,uart mode ,no check ,inner clock,one stop bit
u0c0=0x00; //f1 clock,lsb
u0rrm=0; // Continuous receive mode disabled
u0brg=0x47; //mainclock=11.0592M,9600bps
re_u0c1=1; // Reception enabled /
}
发送/////////////////////
void uart0send(void)
{
unsigned int i;
delay(1000);
while(!ti_u0c1);
u0tb=0x55;
while(!ti_u0c1);
u0tb=0x55;
while(!ti_u0c1);
u0tb=0x55;
while(!ti_u0c1);
u0tb=0x55;
}
共9条
1/1 1 跳转至页
您可以去瑞萨官方网站:
http://www.renesas.com/fmwk.jsp?fp=/products/mpumcu/m16c_family/r8c_tiny_series/r8c1a_group/&cnt=Application_Notes.jsp&title=Application%20Notes&lid=1733
这里有R8C/1A的相关例程
里面有关于I2C的例程,您可以参考一下。
http://www.renesas.com/fmwk.jsp?fp=/products/mpumcu/m16c_family/r8c_tiny_series/r8c1a_group/&cnt=Application_Notes.jsp&title=Application%20Notes&lid=1733
这里有R8C/1A的相关例程
里面有关于I2C的例程,您可以参考一下。
6楼
re_u0c1=1; // Reception enabled /
楼主只是允许接收了,不允许发送,怎么能把数据发送出去呢?:)
tre_u0c1=1; // Transmit enabled /
楼主只是允许接收了,不允许发送,怎么能把数据发送出去呢?:)
tre_u0c1=1; // Transmit enabled /
timbor网友,你所说的U0BRG寄存器,是无法通过HEW的I/O寄存器窗口观察的,观察到始终是1是没错的。ammiezhang写的有一点点笔误,估计你也改了:te_u0c1 = 1;//Transmit enable.
你的问题很可能还是出在波特率设置上,你可以这样试一下:
1、如果想看u0brg的内容,可在程序中定义变量
unsigned char TempData;
TempData = u0brg;
通过观察TempData的值来看u0brg的内容。
2、最好用示波器先观察TXD0管脚,是否有波形,不要直接从串口工具中看数据。
你的问题很可能还是出在波特率设置上,你可以这样试一下:
1、如果想看u0brg的内容,可在程序中定义变量
unsigned char TempData;
TempData = u0brg;
通过观察TempData的值来看u0brg的内容。
2、最好用示波器先观察TXD0管脚,是否有波形,不要直接从串口工具中看数据。
共9条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |