2019-07-14 13:38发布
vywyefswer 发表于 2019-3-15 20:29 不会的,串口是不区分字符的,你输入一长串英文字符看看
TOPCB 发表于 2019-3-15 20:22 在这之后发什么都不回复了是吗?如果是,可能是因为串口溢出导致,接收中断中要处理一下溢出。
zhouxk 发表于 2019-3-15 21:00 本帖最后由 toofree 于 2018-3-7 09:46 编辑 不能够。都能发。
最多设置5个标签!
不能够。都能发。
不过,如果像你主楼帖子发的小括号的话,那是全角符号,占两个字节。
请区分"("和"(",这两个是不一样的。
你的程序只适合一个字节一个字节的发,不能两个字节一起发。就是说两个字节发送之间,得有一定的延时。
或者写成,中断中接收字符到数组,主程序中发送。发送不能影响接收中断。
好像真的是 溢出了~~~
几个字符可以,但是一长串 字符就 挂了!!!!
请问 默认 串口的接收区 是多大?
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
}
一周热门 更多>