stc8h芯片使用记录
1 喷雾器和电动升降桌使用的芯片型号是stc8h1k08和stc8h1k16,这两款芯片都是用的头文件stc8h.h
2 stc8h8k64 pwm管脚定义与stm32不同,比如 pwm1p,pwm1p_2,pwm1p_3,后面的数字表示pwm通道输出脚选择。无数字表示c1ps[1:0]选择00,xxx_2表示选择01,xxx_3表示选择02.
PWM6_2:表示PWMB的第2个通道的第2种脚位分配,
STC8H集成了8通道PWM定时器,分别命名为PWMA和PWMB,第一组PWMA有4个通道分别为PWM1P/PWM1N...PWM4P/PWM4N,第二组PWMB分别为PWM5...PWM8.
3 如果使能了外设中断,必须加中断服务程序,否则当中断产生时,pc指针填充错误,会导致死机,而stm32用cube产生了的代码,会自动增加入口程序。
4 烧录程序时需要在烧录软件上手动选择MCU的时钟频率,这点和STM32不同。
5 在线调试的时候,要先用STC-ISP软件把芯片制作成仿真片,才能进行在线调试。
6 stc8h主程序在操作16位宽或者32宽的数据时,不是原子操作,中间可能会被中断打断,如果在中断中也操作了该16位宽或者32位宽的数据,就会导致主程序出错。
7 当两个8位宽的变量按高八位低八位组合成16位宽的数据时,需要这样操作 var_16bits = (unsigned int)(hi8<<8) + (unsigned int)lo8;才能成功,和stm32的不同
8 工具方面:烧录和在线调试(制作仿真片)时,需要先把外加电源断开,用stc-link-1d自带的电源来进行烧录和调试,否则将连接不上软件。
9 EEPROM大小可在烧录时指定大小。
10 在调试洗碗机触摸按键时,TSU总是进入不了中断服务程序,后面将ISR.asm添加到项目里就可以了,ISR.asm 35号中断(TSU)借用了13号中断,
因为keil里最大只能响应32号中断,超过32号中断无法响应。参考关于中断号大于31在Keil中编译出错的处理-深圳国芯人工智能有限公司
附:
TSU中断入口程序:
void TKSU_Interrupt(void) interrupt 13
{}
ISR.asm文件内容:
CSEG AT 011BH
LJMP 006BH
END
|
35 |
011B H |
触摸按键 |
|
13 |
006B H |
预留 |

浙公网安备 33010602011771号