关于串口的启动
第一次用STC的片子,想要启动UART4,但启动不了,监测TX引脚(第1脚),上电后出现400ms左右的高电平后,就转低电平了,2个引脚配置成的准双向口。串口初始化配置和例程一样的。程序能确定在跑,2个LED输出就正常闪烁https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpost&ptid=375&pid=2070
本帖最后由 zbcaich 于 2023-9-24 12:40 编辑
基本就是复制的这里面的初始化程序。波特率设置为57.6K,在串口发送前有一个485的使能,从这个使能端的波形,能看出来时间是1.4mS,与波特率相符,只是串口的TX没有应有的数据波形,始终是低电平。我用的片子是STC32G8K64,串口4输出端口有上拉电阻
刚刚就是在测试这个程序,由于硬件上我用了P52和P53作输出,所以在里面的一句“S4_S=0”我改为了1,然后P52和P53不管是配置成准双向口还是高阻输入,都无法正常接收发送。因为例程是先收后发,用烧录工具的串口助手发送数据,收不到返馈回来的数据,就感觉是串口驱动不了端口那样。谢谢版主回复 本帖最后由 zbcaich 于 2023-9-24 14:21 编辑
最先试验时TX始终输出低电平,此时,端口配置为准双向口,并且加了P5=0,应该是这个原因导至,后面改为高阻输入,就成高电平了,但始终没有TX数据出来,从另一个端口(485收发控制)的状态看,发送时间是1.38mS,我发送了8个字节,时间上对得上,推断串口中断正常,不然会死在发送程序里.芯片的SPI和I2C都有一个使能位,但串口都没有使能位,只有一个接收允许,这点和大多数片子不一样,是我理解错误了么?望高手解惑。 端口配置改为开漏输出,并且,置高P52和P53后,终于可以正常输出TX了。也改过开漏,只是没有置高端口,而是拉低了端口,所以没输出常为低。绕了一大弯
I/O口, 输入/输出, 用啥工作模式 ? - I/O读写及点灯,外部中断 ,所有I/O都支持的普通I/O中断,按键扫描 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
又遇到问题了,定时器0中断进不去,我最先在里面翻转一个端口(P27)无效,由于在系统中使用了端口捕捉功能,怀疑是端口初始化有影响(端口配置为推挽输出),又在T0中断里加了一个端口来翻转(P51),P51与PWM捕捉无关,实测P51也没有翻转。所以说是进不了T0中断。其它中断都正常,像串口中断、T4中断这些都正常,百思不得其解,还望版主解惑!
页:
[1]