使用STM8S003串口通讯时,发现只要上电接收就收到一堆00的数据??调试几天未找到原因 接收、发送的功能都是可以的,但是接收会丢数据 .速率设置都是对的,中断也没有问题 请问软件件可能是和原因造成?谢谢! 补充:PD5是和UART1_TX,AIN5共用的,请问是不是I/O口需要设置?要怎么设置? 目前IO口配置如下,修改为初始的也没有用 I/O初始化 //-------- 电压检测=PD5口高阻配(Uart_Tx) ----------------------- PD_DDR&=~0B00100000; // PD_CR1&=~0B00100000;//0B00100000; PD_CR2&=~0B00100000; //PD5口电源电压AD检测 0B00100000; //-------- 速度=PD6口高阻配置 (Uart_Rx)-------------------------- PD_DDR&=~0B01000000; // PD_CR1&=~0B01000000;//0B01000000 PD_CR2&=~0B01000000; //PD6口AD检测//0B01000000 void UART1_Init(void) { UART1_CR2=0x00;//使发送禁用TEN=0; UART1_CR1=0x00;//设置M字长,8位数据位 UART1_CR3=0x00;//1位停止位 UART1_SR=0xc0; UART1_GTR=0x00; UART1_CR4=0x00; UART1_GTR=0x00; UART1_PSCR=0x00; UART1_BRR2=0x02; UART1_BRR1=0x68; UART1_CR2 = 0x2c; //收发使能,收中断开 } void UART1_sendchar(unsigned char c) { PD_ODR|=0x10; _asm("nop"); _asm("nop"); _asm("nop"); Delay1(100); while(!(UART1_SR & 0x80)); UART1_DR=c; _asm("nop"); _asm("nop"); _asm("nop"); _asm("nop"); Delay1(100); PD_ODR&=0xef; while((UART1_SR & 0x40) ==0);//发送是否完成 } //UART1接收中断函数: @far @interrupt void UART1_RX_IRQHandler (void) { RxBuffer = UART1_DR; //Store the received byte in RxBuffer // if(RxBuffer!=00) { UART1_sendchar(RxBuffer); } return; } |
STM32H750如何搭配88E6320來使用?
硬件的spi单线传输怎么读写寄存器。
STM8AF6266 LIN通讯实例
STM32L4R9最大支持SD卡的容量是?支持SDXC 64G卡吗?
有使用过芯讯通的A7680C这个4G模块吗?
ST60系列可以使用OFDM调制进行发射接收吗?
STM32F103的LIN Break问题
关于使用STM32G030C8T6的串口收发过程中串口接收问题
有人知道stm32cubemx中,如何自定义lwip平台。(默认只有一个lan和dp的芯片,我需要用yt8512的)。或者说cubemx生成的lan芯片的文件如
stm32f767zi 以太网无法接收问题
RE:紧急求助关于STM8 UART通讯问题
全是这种00数据:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .................
RE:紧急求助关于STM8 UART通讯问题
回复:紧急求助关于STM8 UART通讯问题
这个问题,你可以先进入烧写模式,或者把串口关闭。看看串口是不是还有这么多的乱码,排除硬件干扰引起的。
==>我如果把串口关闭,无法观察是否有乱码啊?我现在是通过PC串口的Debug工具来侦测数据的
另外I/O有什么需要设置的吗?
谢谢!
RE:紧急求助关于STM8 UART通讯问题
回复:紧急求助关于STM8 UART通讯问题
用PC串口监听就可以了。或者用示波器监听波形。
==>用示波器从接收线上来看Tx上确实一直有波形,有数据,但我实际上没有发送,就不知道如何解决此问题!!
搞了几天了一直没搞定,觉得像是哪边初始化可能有问题,但实在没找到问题所在????
谢谢!
回复:紧急求助关于STM8 UART通讯问题
用PC串口监听就可以了。或者用示波器监听波形。
==>用示波器从接收线上来看Tx上确实一直有波形,有数据,但我实际上没有发送,就不知道如何解决此问题!!
搞了几天了一直没搞定,觉得像是哪边初始化可能有问题,但实在没找到问题所在????
谢谢!
RE:紧急求助关于STM8 UART通讯问题
回复:紧急求助关于STM8 UART通讯问题
你看一下ST的TX有没有,如果没有,说明是转换芯片上有焊错器件了。看样子像是焊了一个电容在TX上。
==>我是ST的Tx直接到PC COM口,把STM8S003 Tx脚上其他的都断开了,用示波器看还是一直有数据输出,真是奇怪??
RE:紧急求助关于STM8 UART通讯问题
回复:紧急求助关于STM8 UART通讯问题
共地没有?另外,STM8的电平能和PC的电平匹配吗?
==>有共地,地线有结 电平都是TTL的,可以匹配的。
如果没有UART1_Init 初始化,Tx发送脚上很干净;串口经我上面代码初始化后,上面就有一个0.5V左右的脉冲方波出现,不知道这个方波从哪来的??
RE:紧急求助关于STM8 UART通讯问题
PD_OUT(5);
PD_10MHZ(5);
PD_PP(5);
PD1(5); //PD5用于UART_TX
PD_IN(6); //PD6用于uart_rx
PD_FLY(6);
RCC_UART1_ON;
UART1_B(9600,16000000);
UART1_STOP_1;
UART1_L_8;
UART1_TWOLINE;
UART1_TX_ON;
UART1_RX_ON;
UART1_IE_RXNE;
IE_ON;
UART1_ON;