本帖最后由 芯圣电子官方QQ 于 2023-7-25 11:15 编辑
移植一个STM8S003的程序到HC89S105上。因为之前有用过HC89S03,就想当然地认为都是同样是51系列的芯片,寄存器操作应该也是一样的。唉大意了。
HC89S003的外观功能引脚映射寄存器是这样的
就是说,我如果要设置TXD映射到P3.1应该是TXD_MAP=0X31;这非常简单易懂。
然后HC89S105是这样的
HC89S105如果要将TXD映射到P3.1就是TXD_MAP=0x19;奇怪吧。
然后芯圣官网下载的例程却是这样的
TXD_MAP = 0x01; //TXD映射P01
RXD_MAP = 0x00; //RXD映射P00
一开始,我按照HC89S003的经验设置TXD_MAP,RXD_MAP.始终没串口输出,检查程序,对照例程也没有问题。搞来搞去都是没有输出。无意中查了一下规格书关于TXD_MAP和RXD_MAP的描述,简直是大吃一斤。怎么同一系列的芯片都没有传承的。真坑。
将TXD_MAP和RXD_MAP设置正确后,一切正常。
|