OpenEdv-开源电子网

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

STM8L052C6串口接收问题

[复制链接]

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2014-4-21
在线时间
0 小时
发表于 2016-1-15 10:03:03 | 显示全部楼层 |阅读模式
1金钱
小弟最近做一个小东西,用的是STM8L052C6,STVD+COSMIC编译环境。调串口接收的时候怎么搞都不行。查询和中断都没有成功,换了几个板子都不没成功,有点疑惑,请大神指点。
贴程序:
void UART1_Init(void)
{
        SYSCFG->RMPCR1 &= 0xaf;
        SYSCFG->RMPCR1 |= 0x10;

        GPIO_Init(GPIOA,GPIO_Pin_2,GPIO_Mode_In_PU_No_IT);                   //串口接收  
        GPIO_Init(GPIOA,GPIO_Pin_3,GPIO_Mode_Out_PP_High_Slow);              //串口发送                 
        CLK_PeripheralClockConfig(CLK_Peripheral_USART1,ENABLE);

        USART_DeInit(USART1);
        USART_Init(USART1,9600,USART_WordLength_8b,USART_StopBits_1,USART_Parity_No,(USART_Mode_TypeDef)(USART_Mode_Rx|USART_Mode_Tx));
        USART_ClockInit(USART1,USART_Clock_Disable,USART_CPOL_Low,USART_CPHA_2Edge,USART_LastBit_Disable);
        USART_ClearITPendingBit(USART1,USART_IT_RXNE);
        enableInterrupts();
        USART_ClearITPendingBit(USART1,USART_IT_RXNE);
        USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
        USART_Cmd(USART1,ENABLE);
}

中断
INTERRUPT_HANDLER(USART1_RX_TIM5_CC_IRQHandler,28)
{
    /* In order to detect unexpected events during development,
       it is recommended to set a breakpoint on the following instruction.
    */
        USART1_SendByte(0x88);
        bTemp=USART_ReceiveData8(USART1);//USART1->DR
        USART_ClearITPendingBit(USART1,USART_IT_RXNE);       
        USART1_SendByte(bTemp);
}

while(1)里面啥没有。。

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

使用道具 举报

2

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
130
金钱
130
注册时间
2016-1-2
在线时间
13 小时
发表于 2016-1-15 14:13:56 | 显示全部楼层
PA1 PA2不是默认的USART端口吧,需要重新映射。
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2014-4-21
在线时间
0 小时
 楼主| 发表于 2016-1-15 14:52:49 | 显示全部楼层
qhwan_love 发表于 2016-1-15 14:13
PA1 PA2不是默认的USART端口吧,需要重新映射。

SYSCFG->RMPCR1 &= 0xaf;
        SYSCFG->RMPCR1 |= 0x10;
这个就是映射。。
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2014-4-21
在线时间
0 小时
 楼主| 发表于 2016-1-15 17:16:17 | 显示全部楼层
qhwan_love 发表于 2016-1-15 14:13
PA1 PA2不是默认的USART端口吧,需要重新映射。

我用默认的可以了,但是重映射就不行,看资料也重映射又是对的。。。
回复

使用道具 举报

3

主题

41

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
278
金钱
278
注册时间
2016-11-5
在线时间
62 小时
发表于 2021-3-11 21:59:06 | 显示全部楼层
检查是不是进入了2次串口接收中断?在中断执行中 又来了新的数据,导致溢出!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 14:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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