21ic问答首页 - N76E003串口多字节接收
相关问题
- AT32片机SPI DMA 单次发送第一次正常,往后发送数据错误0 回答
- N32L40XKQ-STB开发板烧录问题USB接NS-Link offine Download Tool0 回答
- NSLink获取模块名失败0 回答
- CH32V307,如何开启串口复用功能0 回答
- GD32F103C8T6的SPI波形异常问题11 回答
- E503R,根据捕获的PWMA产生PWMB,发现AB相位差过大0 回答
- 如何把keil中开发的程序下载到AT-START-F403A开发板上0 回答
- LKS32MC034DO0 回答
- 国民计数N32H787开发板串口无法打印,用例程也打印不出来9 回答
- AT32F421定时器PWM输入捕获功能实现中的问题8 回答
本周活跃用户
- 1
stormwind123回答 6 次
- 2
classroom回答 5 次
- 3
powerantone回答 5 次
- 4
flycamelaaa回答 5 次
- 5
probedog回答 4 次
- 6
丙丁先生回答 4 次
- 7
哪吒哪吒回答 3 次
- 8
星塔守护回答 3 次
赞0
评论
2020-09-10
赞1
评论
2020-09-10
赞1
然后,缩短T的大小。比如先每隔1毫秒发送一个字节,再尝试隔500微秒,按此办法。你可能会找到一个最短间隔。低于此间隔接收端就会丢数据。
可以减小波特率,或者按照刚才说的在发送数据时,间隔一定的时间。
评论
2020-09-09
赞1
https://www.cnblogs.com/technology-jingxinwen/p/13149893.html
评论
2020-09-09
赞1
{
if (RI_1==1)
{ /* if reception occur */
clr_RI_1; /* clear reception flag for next reception */
UART_BUFFER[u16CNT] = SBUF_1;
u16CNT ++;
riflag =1;
}
if(TI_1==1)
{
clr_TI_1; /* if emission occur */
}
}
void main (void)
{
P12_PushPull_Mode; // For I/O toggle display
#if 0
//for Simple use UART1 transmit out
InitialUART1_Timer3(115200);
while(1)
Send_Data_To_UART1(0x55);
#else
// For interrupt setting check receive
InitialUART1_Timer3(115200);
set_ES_1; //For interrupt enable
set_EA;
while(1)
{
if (riflag)
{
P12 = ~ P12; //Receive each byte P12 toggle, never work under debug mode
riflag = 0;
}
}
#endif
}
评论
2020-09-09
赞0
评论
2020-09-09
赞0
评论
2020-09-09
赞0
另外这个程序如果单字节发送10次,最终也能将这十次的数据打印出来,但是一次性发送10个字节是失败的,不知道咋回事
评论
2020-09-09
赞0
恢复了,也是不行啊,最开始是没有注释掉的
评论
2020-09-09
您需要登录后才可以回复 登录 | 注册