OpenEdv-开源电子网

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

USART的程序问题

[复制链接]

7

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2011-11-9
在线时间
0 小时
发表于 2011-11-16 08:43:18 | 显示全部楼层 |阅读模式
 研究了几天还是没有研究出来的问题,所以上来请教高手们。
在《例说STM32》的USART部分,有u8  USATR_RX_STA=0这一定义语句,我的问题是:
1.USATR_RX_STA为什么要定义成无符号字符型(我的疑惑是为什么是字符型)
2.怎么在定义了USART_RX_STA之后好像都没有控制USART_RX_STA变化的语句
还有一个问题就是在这个主函数里面的else部分的作用是什么? 
互帮互助,共同进步
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2011-11-16 08:57:03 | 显示全部楼层
回复【楼主位】shsh516:
---------------------------------
1,为什么是u8,这个不用多说吧?那你认为为要用什么类型才合适?为什么?
2,USART_RX_STA在串口接收中断程序里面被多次修改,居然没看到?
3,else和if配套用,当if不成立的时候,转else执行.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2011-11-9
在线时间
0 小时
 楼主| 发表于 2011-11-16 09:14:48 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢指点!对USART_RX_STA的修改看到了。
定义成u8,然后实现自加(在此能实现吗?)感觉怪怪的。一直觉得只有整形变量才能实现自加。
互帮互助,共同进步
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2011-11-16 09:27:52 | 显示全部楼层
 
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2011-11-9
在线时间
0 小时
 楼主| 发表于 2011-11-16 16:28:53 | 显示全部楼层
回复【3楼】shsh516:
---------------------------------
实在不好意思,我又来打扰了。
1.网上查了一下,字符型变量是不能实现自加的,那么在此的USART_RX_STA++是什么情况?(定义的u8应该就是字符型变量吧。)
2.在中断服务子程序中说USART_RX_STA不能大于63,那么是怎么才能出现有USART_RX_STA&0X80==1(接收完成判断条件)呢?
3.USART_DR,只用了低9位,那如何进行汉字通信呢?是分两次移动里面的数据组成一个汉字?
4.不知哪里有USART_RX_STA这个东东的详细介绍?
互帮互助,共同进步
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2011-11-16 17:13:46 | 显示全部楼层
回复【5楼】shsh516:
---------------------------------
1,麻烦你自己写个代码测试一下.软件仿真也可以.
2,麻烦看usart.c中:"u8 USART_RX_STA=0;       //接收状态标记"这句话之前的注释.
3,分2次发送.
4,<<STM32不完全手册>>.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-24 11:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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