|
本帖最后由 zerozk 于 2015-3-26 16:33 编辑 最近公司一个案子需要用到超低功耗MCU,在TI和ST的片子中纠结了一段时间,最后选了ST的STM8L151G2U6。 在使用外部中断的时候迷糊了,发现这个的外部中断跟普通MCU的外部中断不一致,经过半日分析整理得出一下结论,不知正确与否,望与大神们讨论。 一般MCU的外部中断可以定义到某个Port上某一固定的IO上,而STM8L的外部中断与此不同,共有有两种设定方式: 方式一:设定IO口 即将具有外部中断功能的Port的某一IO设定为外部中断的触发输入,如下图:
该设置涉及到EXTI_CR1和EXTI_CR2,然后再中断函数中再去确定是哪个Port的IO发生了中断事件。 方式二:设定Port 即将Port作为外部中断的触发输入,然后再中断函数中确定是哪个IO发生了中断事件,这个带spec里面我没找到详细说明,是通过register设定得出这个结论的,涉及到EXTI_CR3,EXTI_CR4以及EXTI_CONF1,EXTI_CONF2四个register,其中CR3和CR4用于设定Port的sensitivity,CONF1和CONF2用于设定是整个Port用于中断功能还是半个Port(0-3或者4-7号IO)用于中断功能。 以上是个人对于STM8L外部中断的理解,由于打样的PCB板还未回来,所以无法验证,如有错误还望大神们提出。 thanks! |
|
|
| 学习一下 |
| 不同于其它8位单片机,所有IO口都可以用来设置为中断见RM0016 STM8S参考手册84页 |
| RM0031 STM8L参考手册116页,英文不好的话参考RM0016 STM8S参考手册84页。 |
| 楼主的总解是对的 |
STM8S103飞线外接芯片,I2C不能得到slaveAddress应答,通讯失败。
测试标签123
IAR FOR ARM和IAR FOR STM8无法共存,
STM8L052,液晶内部电源怎么用?
STM8S105C6T6 UART2串口,能接收数据,不能发送数据
STM8S105K4 串口2 无奇偶校验,也能接收 偶校验的 数据
在STM8S的IAP使用中断和APP使用中断问题
STM8L151 SMBUS设计
STM8S103F复位异常
STM8L的LCD调试时不亮
微信公众号
手机版