OpenEdv-开源电子网

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

用官方寄存器版的串口接收不到数据但可以发送数据,求助

[复制链接]

15

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2015-2-17
在线时间
3 小时
发表于 2015-3-14 15:12:40 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]void Uart_Init( u32 Baud ) { float temp = 0; u16 Baud_H = 0; u16 Baud_L = 0; temp = (float)72000000/( Baud*16 ); Baud_H = temp; Baud_L = ( temp - Baud_H )*16; Baud_H <<= 4; Baud_H += Baud_L; RCC->APB2ENR |= 1<<2; /* ????A???±?? PA9 PA10 */ RCC->APB2ENR |= 1<<14; /* ?????®??1?±?? */ GPIOA->CRH &= 0XFFFFF00F; /* ?è??IO?????? 9.10 */ GPIOA->CRH |= 0X000008B0; RCC->APB2RSTR |= 1<<14; /* ?????®??1 */ RCC->APB2RSTR &= ~(1<<14); USART1->BRR = Baud_H; /* ?è???¨???? */ USART1->CR1 |= 0X200C; /* ???????? ?ò?????? */ USART1->CR1 |= 1<<8; USART1->CR1 |= 1<<5; NVIC_Init( 3, 3, USART1_IRQn,2 ); /* USART1_IRQn ?? USART1_IRQChannel */ } void USART1_IRQHandler( void ) { u8 Res = 0; if( USART1->SR & (1<<5) ) { Res = USART1->DR; if( (USART1_RX_STA & 0X8000)== 0 ) /* ????????????????????·??á?? */ { if( USART1_RX_STA & 0X4000 ) /* ??????????????·??????????°°??? */ { if( Res != 0x0a ) /* ????±?????????·??????????ó°??? */ { USART1_RX_STA = 0; } else { USART1_RX_STA |= 0X8000; } } else { if( Res == 0x0d ) { USART1_RX_STA |= 0X4000; } else { USART1_RX_BUF[USART1_RX_STA&0X3FFF]=Res; USART1_RX_STA++; if( USART1_RX_STA>(USART1_RX_LEN-1)) { USART1_RX_STA = 0; } } } } } } [/mw_shl_code]
无法进入中断   求教 

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11558
金钱
11558
注册时间
2014-4-1
在线时间
1318 小时
发表于 2015-3-14 16:09:59 | 显示全部楼层
如果发送数据正常,说明波特率、格式都是正确的。

接收不正常,检查:
1、接收引脚的时钟、功能配置,
2、接收功能打开没有,
3、硬件,从对方发送端,到本地接收端,路线通不通,电平对不对。

另外,断点一定要放在第 34 行,而不是后面。

感觉硬件的可能性大。
回复

使用道具 举报

15

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2015-2-17
在线时间
3 小时
 楼主| 发表于 2015-3-14 16:15:56 | 显示全部楼层
回复【2楼】xuande:
---------------------------------
老师  硬件测试过了 没有问题   我把USART1_RX_STA |= 0X8000放在中断函数的最后  在main函数里依然无法进入if判断
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11558
金钱
11558
注册时间
2014-4-1
在线时间
1318 小时
发表于 2015-3-14 21:28:14 | 显示全部楼层
与第47行没关系,现在还没到那里。

仔细查这三项。

另外,对方发了没有?
回复

使用道具 举报

15

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2015-2-17
在线时间
3 小时
 楼主| 发表于 2015-3-15 10:48:48 | 显示全部楼层
回复【4楼】xuande:
---------------------------------
检查过了  没有问题啊   用的是ch340  用串口助手发的数据
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-25 05:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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