OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6430|回复: 6

串口程序中 USART1->DR = (u8) ch; 这句话怎么理解,赋值不都是右边赋给左边吗,这句话是 USART1->DR的值赋给ch吗

[复制链接]

43

主题

109

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1163
金钱
1163
注册时间
2019-10-22
在线时间
226 小时
发表于 2023-2-19 17:03:14 | 显示全部楼层 |阅读模式
1金钱
//Öض¨òåfputcoˉêy
int fputc(int ch, FILE *f)
{      
        while((USART1->SR&0X40)==0);//Ñ-»··¢Ëí,Ö±μ½·¢Ëííê±Ï   
    USART1->DR = (u8) ch;      
        return ch;
}

最佳答案

查看完整内容[请看2#楼]

是的,就是右边赋值给左边.可能你遇上了语文中类似的断句问题 USART1->DR = (u8) ch; 中USART1->DR是串口寄存器,数据给它后就会启动发送从串口发送出去.CH是要发送的值或变量. CH给USART1->DR.没毛病啊,这是C的基础啊...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

113

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2538
金钱
2538
注册时间
2019-10-18
在线时间
403 小时
发表于 2023-2-19 17:03:15 | 显示全部楼层
是的,就是右边赋值给左边.可能你遇上了语文中类似的断句问题
USART1->DR = (u8) ch;   中USART1->DR是串口寄存器,数据给它后就会启动发送从串口发送出去.CH是要发送的值或变量.
CH给USART1->DR.没毛病啊,这是C的基础啊...
回复

使用道具 举报

43

主题

109

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1163
金钱
1163
注册时间
2019-10-22
在线时间
226 小时
 楼主| 发表于 2023-2-19 18:27:36 | 显示全部楼层
decai 发表于 2023-2-19 17:39
是的,就是右边赋值给左边.可能你遇上了语文中类似的断句问题
USART1->DR = (u8) ch;   中USART1->DR是串口 ...

但是ch的值哪里来的啊,我在原子的程序里面没找到啊,
比如他是这个printf("Distance:%f cm\r\n")里面的distance吗?
回复

使用道具 举报

28

主题

360

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1027
金钱
1027
注册时间
2021-2-4
在线时间
146 小时
发表于 2023-2-19 21:49:23 | 显示全部楼层
Xiuer666 发表于 2023-2-19 18:27
但是ch的值哪里来的啊,我在原子的程序里面没找到啊,
比如他是这个printf("Distance:%f cm\r\n")里面 ...

那你搜一下就知道了 ch就是个变量
看看哪里用到了
回复

使用道具 举报

3

主题

800

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3775
金钱
3775
注册时间
2017-3-7
在线时间
1645 小时
发表于 2023-2-20 08:35:18 | 显示全部楼层
ch不是参数吗,调用时传入,至于fputc在哪掉的,就得追溯printf了,c库封装起来了
回复

使用道具 举报

2

主题

446

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4133
金钱
4133
注册时间
2018-5-14
在线时间
902 小时
发表于 2023-2-20 08:47:07 | 显示全部楼层
Xiuer666 发表于 2023-2-19 18:27
但是ch的值哪里来的啊,我在原子的程序里面没找到啊,
比如他是这个printf("Distance:%f cm\r\n")里面 ...

回去多读读C语言的书吧。putc原本就在标准库中有弱定义函数,它是标准库打印中字节输出的实现方向。你这边又重复定义了就变成了替换标准库自己实现该函数,所以运行时是多次调用,第一次ch为D,第二次为i直到字节流结束
回复

使用道具 举报

43

主题

109

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1163
金钱
1163
注册时间
2019-10-22
在线时间
226 小时
 楼主| 发表于 2023-2-20 09:24:59 | 显示全部楼层
好的,谢谢大家了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 15:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表