你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 5255|回复: 1

USART串口设置

[复制链接]

2

主题

7

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-4-28 09:36:12 | 显示全部楼层 |阅读模式
使用电子罗盘,串口发送和接受。
关键代码如下:
    USART_SendData(USART2, c);       开始测距
    while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET );
   unsigned char c;
 while(1)
 {
    if(USART_GetFlagStatus(USART2, USART_FLAG_RXNE) == SET)
       {
       c=USART_ReceiveData(USART2);
    return c;
    }
 }接受测得数据
 
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;    // 发送使能+接收使能
USART_Init(USART2, &USART_InitStructure);
 
USART_ClearFlag(USART2, USART_IT_RXNE);    
USART_Cmd(USART2, ENABLE);       //USART2总开关:开启
 
使用的是查询模式。
为题是在while(1)里面死循环了。
问什么我USART_GetFlagStatus(USART2, USART_FLAG_RXNE)不是1.确定当发送c的时候有返回值
 
 
回复

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-4-28 23:17:15 | 显示全部楼层

RE:USART串口设置

说明没有接收到数据,你得查看为什么没有收到数据。串口时钟使能了吗?
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版