请教一下关于usart.c的移植问题,谢谢。

2019-10-11 16:30发布

请教一下关于usart.c的移植问题,谢谢。
感谢原子哥的开源,想尝试把F1的usart.c移植到F0系列的CPU上使用,但是发现如下报错,是因为F0系列的CPU没有定义SR和DR吗?那么可以自己定义并添加吗?谢谢。


//重定义fputc函数
int fputc(int ch, FILE *f)
{      
        while((USART1->SR&0X40)==0);//循环发送,直到发送完毕   
    USART1->DR = (u8) ch;           
        return ch;        
}
#endif



QQ图片20170313155256.png


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
小陀螺爱炒蛋
1楼-- · 2019-10-12 12:29
Alvanbai 发表于 2017-3-14 16:30
感谢指教!
另外请教原子哥的代码中
    USART1->DR = (u8) ch;     

对,数据寄存器
Alvanbai
2楼-- · 2019-10-12 13:30
小陀螺爱炒蛋 发表于 2017-3-14 16:50
对,数据寄存器

那这个数据寄存器是发送的还是接收的呢?我看F0是分开的,分成了发送数据寄存器TDR和接受寄存器TDR,应该怎么对应呢。F1的官方文档里面没有说,谢谢前辈。
小陀螺爱炒蛋
3楼-- · 2019-10-12 14:19
Alvanbai 发表于 2017-3-14 17:12
那这个数据寄存器是发送的还是接收的呢?我看F0是分开的,分成了发送数据寄存器TDR和接受寄存器TDR,应该 ...

分开了就分开用,外设寄存器design不同也是很正常的事情,你最好找个官方的demo来看ST是怎么做的
Alvanbai
4楼-- · 2019-10-12 16:43
 精彩回答 2  元偷偷看……

一周热门 更多>