共2条
1/1 1 跳转至页
TIME,A1 如何使用TIME_A1的连续增计数模式进行定时?
问
使用TIME_A1,即使用第2个或者第3个捕获/比较寄存器,来进行定时?需要产生中断。我看书怎么也看不明白,望刘工及各位高手给予帮助。
答 1:
我看了示例程序。但中断服务程序我看明白,为什么要5个reti返回中断呢,这样的话直接中断返回了那还如何执行TA_over后的内容呢?另外第一句的加法又是什么意思?
;----------------------------------------------
TAX_ISR; Common ISR for CCR1-4 and overflow
;----------------------------------------------
add.w &TAIV,PC ; Add Timer_A offset vector
reti ; CCR0 - no source
reti ; CCR1
reti ; CCR2
reti ; CCR3
reti ; CCR4
TA_over xor.b #001h,&P1OUT ; Toggle P1.0
reti ; Return from overflow ISR 答 2: 我用的是F1121,发现如果Time_A0使用了模拟串口功能。这样的话Time_A1就无法定时了,即无法产生Time_A1中断。而我去掉了模拟串口的功能。就可以产生中断了。
那该怎么办才能让两个功能都有,而且能很好的工作呢? 答 3: 顶一下。
有人知道吗?刘工在吗?我现在使用看门狗定时器暂时解决了,但并不是最终的方案。 答 4: 模拟串口用的是连续增计数模式,并不影响timera1的工作。不能进中断应该是您的程序在逻辑上还有问题,不是定时器本身的。
timera1的中断服务程序入口是多源的,timera1/timera2/溢出,都是这个入口,taiv标志是那个产生了中断标志。把pc加上taiv相当于跳转指令,不同的中断做不同的动作。相当于c语言中的switch。这是比较简单直观的,当然用cmp也可以。
;----------------------------------------------
TAX_ISR; Common ISR for CCR1-4 and overflow
;----------------------------------------------
add.w &TAIV,PC ; Add Timer_A offset vector
reti ; CCR0 - no source
reti ; CCR1
reti ; CCR2
reti ; CCR3
reti ; CCR4
TA_over xor.b #001h,&P1OUT ; Toggle P1.0
reti ; Return from overflow ISR 答 2: 我用的是F1121,发现如果Time_A0使用了模拟串口功能。这样的话Time_A1就无法定时了,即无法产生Time_A1中断。而我去掉了模拟串口的功能。就可以产生中断了。
那该怎么办才能让两个功能都有,而且能很好的工作呢? 答 3: 顶一下。
有人知道吗?刘工在吗?我现在使用看门狗定时器暂时解决了,但并不是最终的方案。 答 4: 模拟串口用的是连续增计数模式,并不影响timera1的工作。不能进中断应该是您的程序在逻辑上还有问题,不是定时器本身的。
timera1的中断服务程序入口是多源的,timera1/timera2/溢出,都是这个入口,taiv标志是那个产生了中断标志。把pc加上taiv相当于跳转指令,不同的中断做不同的动作。相当于c语言中的switch。这是比较简单直观的,当然用cmp也可以。
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 28BYJ-48机械臂实现人脸跟随被打赏¥24元 | |
| 基于RK3506B的片温识读功能的实现被打赏¥25元 | |
| 【瑞萨RA8D1测评】基于FreeRTOS的lvgl移植教程被打赏¥29元 | |
| 电子价签墨水屏开发被打赏¥35元 | |
| 【Ozone】RTT 打印终端使用被打赏¥29元 | |
| BMS保护板绝缘检测功能-不平衡电桥技术绝缘电阻检测设计与实现被打赏¥34元 | |
| 给28BYJ-48三自由度机械臂加一个网页控制台被打赏¥32元 | |
| 用28BYJ-48电机从零搭一台三自由度机械臂被打赏¥33元 | |
| 【英飞凌开发经验】ModusToolbox配置EdgeTalk外设被打赏¥27元 | |
| 基于BQ76952PFBR的BMS保护板热插拔损坏的原因和处理措施被打赏¥32元 | |
我要赚赏金
