STM32F030F4P6串口接收发送小括号符程序死掉

2019-07-14 13:38发布

测试了 普通英文字符 ,都是正常的。

但是小括号符 就不行,程序就死掉了 ,例如    aaa(2,2“”)

串口输出 aaa(    然后就死了~~~~


请问 小括号符 不能接收吗??
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
vywyefswer
1楼-- · 2019-07-14 20:15
不会的,串口是不区分字符的,你输入一长串英文字符看看
跨界F16
2楼-- · 2019-07-15 01:51
 精彩回答 2  元偷偷看……
zhouxk
3楼-- · 2019-07-15 06:29
本帖最后由 toofree 于 2018-3-7 09:46 编辑

不能够。都能发。
不过,如果像你主楼帖子发的小括号的话,那是全角符号,占两个字节。
请区分"("和"(",这两个是不一样的。






你的程序只适合一个字节一个字节的发,不能两个字节一起发。就是说两个字节发送之间,得有一定的延时。
或者写成,中断中接收字符到数组,主程序中发送。发送不能影响接收中断。
bin548
4楼-- · 2019-07-15 07:55
vywyefswer 发表于 2019-3-15 20:29
不会的,串口是不区分字符的,你输入一长串英文字符看看

好像真的是 溢出了~~~
几个字符可以,但是一长串 字符就 挂了!!!!

请问 默认 串口的接收区 是多大?

void USART_Configuration(void)
{
  USART_InitTypeDef USART_InitStructure;
  /******************************************************************
  USART²ÎÊý³õʼ»¯:  ²¨ÌØÂÊ     ´«ÊäλÊý   Í£Ö¹Î»Êý  Ð£ÑéλÊý
                    115200         8         1        0(NO)
  *******************************************************************/
  USART_InitStructure.USART_BaudRate = 115200;                       //É趨´«ÊäËÙÂÊ
  USART_InitStructure.USART_WordLength = USART_WordLength_8b;        //É趨´«ÊäÊý¾ÝλÊý
  USART_InitStructure.USART_StopBits = USART_StopBits_1;             //É趨ֹͣλ¸öÊý
  USART_InitStructure.USART_Parity = USART_Parity_No ;               //²»ÓÃУÑéλ
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//²»ÓÃÁ÷Á¿¿ØÖÆ
  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;    //ʹÓýÓÊպͷ¢Ë͹¦ÄÜ
  USART_Init(USART1, &USART_InitStructure);                          //³õʼ»¯USART1
  USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);                     //ʹÄÜUSART1½ÓÊÕÖжÏ
  USART_Cmd(USART1, ENABLE);                                         //ʹÄÜUSART1
}
bin548
5楼-- · 2019-07-15 09:18
TOPCB 发表于 2019-3-15 20:22
在这之后发什么都不回复了是吗?如果是,可能是因为串口溢出导致,接收中断中要处理一下溢出。

bin548
6楼-- · 2019-07-15 14:07
zhouxk 发表于 2019-3-15 21:00
本帖最后由 toofree 于 2018-3-7 09:46 编辑

不能够。都能发。

一周热门 更多>