打印
[STM8]

stm8l 串口收到数据不正常。

[复制链接]
4728|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gpf88|  楼主 | 2013-4-27 18:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void usart_int()
{
    USART_DeInit(USART1);
   USART_Init(USART1,(uint32_t)2400,  USART_WordLength_8b, USART_StopBits_1,USART_Parity_No , USART_Mode_TXRX);
    USART_ClockInit(USART1,USART_Clock_Disable,USART_CPOL_Low,USART_CPHA_2Edge,USART_LastBit_Disable);
   USART_ITConfig(USART1, USART_IT_RXNE,ENABLE  );
    USART_Cmd(USART1,ENABLE);
  
}  这是串口初始化程序。

     GPIO_Init(GPIOE,GPIO_Pin_2,GPIO_Mode_In_FL_No_IT);
        GPIO_Init(GPIOE,GPIO_Pin_3,GPIO_Mode_Out_PP_Low_Fast);
        CLK_PeripheralClockConfig(CLK_Peripheral_USART1,ENABLE);这是引脚初始化。及串口时钟。
INTERRUPT_HANDLER(USART1_RX_IRQHandler,28)
{
/* In order to detect unexpected events during development,
   it is recommended to set a breakpoint on the following instruction.
*/

  if(USART_GetITStatus( USART1,USART_IT_RXNE )!= RESET)
    {while(USART_GetFlagStatus(USART1,USART_FLAG_RXNE)==RESET);
                        Buf=USART_ReceiveData8(USART1);
                        
                                  h++;
                               bu[h]= Buf;
                              
                       
                       
}
这是接收程序。现在问题是 发送01的时候收到的数据是7f 发送02收到的7E。而且用板子向电脑发数收到的也是这样。
沙发
cjhk| | 2013-4-27 19:29 | 只看该作者
不是很了解   楼主   我帮你顶起来   顺便呼唤一下香主   他应该能够解决这个问题

使用特权

评论回复
板凳
gpf88|  楼主 | 2013-4-28 09:10 | 只看该作者
有人知道是什么原因吗,导线连接都正常。

使用特权

评论回复
地板
IJK| | 2013-4-28 13:43 | 只看该作者
用示波器看:看波特率是否如期望,看波形是否如期望那样

使用特权

评论回复
5
sbfvlp| | 2013-4-28 17:40 | 只看该作者
:)

使用特权

评论回复
6
jxmzzr| | 2013-4-28 18:14 | 只看该作者
我也遇到过STM8L 串口不能接收, 可以发送的问题啊,郁闷中

使用特权

评论回复
7
pinghpu| | 2013-4-29 11:50 | 只看该作者
1、波特率是否正确,。2、串口调试工具有个校验码,你是不是使用了校验码

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

23

帖子

1

粉丝