ToB企服应用市场:ToB评测及商务社交产业平台
标题:
杰发科技AC7801——滴答定时器获取时间戳
[打印本页]
作者:
自由的羽毛
时间:
3 天前
标题:
杰发科技AC7801——滴答定时器获取时间戳
1. 滴答定时器
杰发科技7801内部有一个滴答定时器,该定时器是M0+核自带的,因此可以直接用该定时器来获取时间戳。
同样,7803也可以利用该方式获取时间戳。
2. 滴答定时器原理
SysTick是一个24位的递减计数器,它从预设的重装载值开始,每经过一个系统时钟周期,计数值就减1。当计数器的值递减到0时,如果SysTick中断使能,处置惩罚器将产生一个SysTick非常(非常号通常为15),并跳转到SysTick中断服务例程(ISR)执行相应的中断处置惩罚代码。此时,计数器会自动从重装载寄存器中重新加载初值,开始新一轮的递减计数。
3. 定时器配置
#include "ac780x.h"
#include "timer_sample.h"
#include <stdint.h>
#include "core_cm0plus.h"
void systick_init(void) {
// 配置 SysTick 重装载值为最大值
SysTick->LOAD = 0xFFFFFF; // 24-bit 最大值
// 配置寄存器
SysTick->CTRL = 0x00010007;
}
uint32_t tick_count[100];
unsigned char cou = 0;
int main(void) {
// 初始化 SysTick
systick_init();
TIMER_Clock(); //1ms定时器初始化
InitDelay();
while (1)
{
if(g_timer0Count)
{
g_timer0Count = 0;
tick_count[cou] = SysTick->VAL;
cou++;
}
}
return 0;
}
复制代码
4. 寄存器状态
5. 注意
注意7801自带的Initdelay()也是利用systick
实测初始化delay不影响滴答计数
6. 效果
图中的数值两两相减列出效果,48M主频 1ms计数值正确
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4