我用stm8s003f3p6定时器1定时10us进入一次中断,为什么实现不了?

2019-07-19 20:38发布

       我用stm8s003f3p6定时器1定时10us进入一次中断,为什么实现不了?      我进入中断翻转一次io电平,用示波器看确实20us翻转一次,这是为什么?(采用内部16m晶振)以下是定时器初始化代码

    TIM1->CR1 = 0x00;         //计数器使能,开始计数
    TIM1->IER = 0x01;         //允许更新中断
    TIM1->PSCRH = 0;
    TIM1->PSCRL = 15;          //(15+1)分频为1M
    TIM1->ARRH = 0x0;
    TIM1->ARRL = 0x0A;        //每10us中断一次
    TIM1->CR1 = 0x01;         //计数器使能,开始计数



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
TCS
1楼-- · 2019-07-20 15:35
嗯嗯,我基本是配置寄存器的,STM8S003只有8K的FLASH,寄存器能写多一点代码
ssssssssssss
2楼-- · 2019-07-20 17:07
 精彩回答 2  元偷偷看……
liushiming82
3楼-- · 2019-07-20 19:31
 精彩回答 2  元偷偷看……
ssssssssssss
4楼-- · 2019-07-21 00:48
liushiming82 发表于 2017-8-4 15:41
建议:stm的8位机,用寄存器,stm32,用库函数

32用寄存器不是更好
liushiming82
5楼-- · 2019-07-21 04:46
 精彩回答 2  元偷偷看……
dragon7799
6楼-- · 2019-07-21 08:28
20us以上就能行了。mcu反应不过来。

一周热门 更多>