N76E003串口115200接收连续数据不完整怎么解决?

2020-01-12 17:29发布

本帖最后由 zhcj66 于 2018-6-23 11:13 编辑

如题"N76E003串口波特率115200,接收连续数据不完整怎么解决?",

原先用的STM8S103可以一次接收10bit数据,不丢数据,然而因为涨价严重,不的不换方案

这些8bit的mcu也没有DMA真的接收数据很累啊,GD和ST的32bit的mcu电压都是最高3.3v的也没有个5v的,如果换这样的mcu还需要加LDO成本又上去了

难道N76E003芯片串口接收连续数据是,只能在发送每个字节上加延时了吗?
23条回答
zhcj66
1楼 · 2020-01-15 00:48.采纳回答
anjiyifan 发表于 2019-5-30 23:43
楼主问题解决了吗?你的原因应该是计算波特率的时候多加了一个1导致的。试试这样:
#ifdef FOSC_166000                //  ...

已经放弃这个芯片了
coleyao
2楼-- · 2020-01-12 19:54
  新唐的东东真难用啊,N76E003不是Keil官方支持的芯片,装了驱动接仿真器之后一通乱跑,调试都没头绪了啊,也不知道是Nulink的问题还是windows10兼容性的问题!
  后面还有人在跟着催进度,伤不起啊!
zhcj66
3楼-- · 2020-01-13 01:31
coleyao 发表于 2018-6-23 09:34
新唐的东东真难用啊,N76E003不是Keil官方支持的芯片,装了驱动接仿真器之后一通乱跑,调试都没头绪了啊 ...

乱跑倒是还没有遇到,刚刚测试,串口打断点,发送一个数据,半天才中断,有点伤不起.

不知道这种8bit的mcu 除了发送数据中间加延时 还有什么好的办法没>?
OneRain
4楼-- · 2020-01-13 02:47
我不知道你们为啥那么多问题,我几乎没啥问题,串口什么得,都妥妥得。。。多看看手册,按照官方资料来配置,一般情况都没事情!!!当然了要说没事情,也不对,就遇到了keil编译器对于C51个人优化后脑残得算法,不太遵守C标准。。。其他得,目前没啥大问题,包括捕捉,adc等等!!!
zhcj66
5楼-- · 2020-01-13 04:05
 精彩回答 2  元偷偷看……
LearningASM
6楼-- · 2020-01-13 06:47
参考以前51的接收方案,在中断里面接收到缓存
zhcj66
7楼-- · 2020-01-13 09:15
LearningASM 发表于 2018-6-23 11:40
参考以前51的接收方案,在中断里面接收到缓存

已经加了缓冲的,还会出现丢数据问题,所以才上来问问,有没有更好的办法的

  1. void UART0_INT(void) interrupt 4
  2. {
  3.         if (RI==1)
  4.     {                                       /* if reception occur */
  5.         clr_RI;                             /* clear reception flag for next reception */
  6.                 buf[kpp] = SBUF;
  7.                 kpp++;
  8.         }
  9. }
复制代码

一周热门 更多>