完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
Air105 的时钟
高频振荡源
分频结构 PLL_CLK 外部 XTAL12M 或 内部 OSC12M -> 直通, 或PLL产生 108MHz - 204MHz FCLK / CPU_CLK PLL_CLK -> 2bit分频(0, 2分频, 4分频) -> FCLK FCLK就是主程序循环的时钟 HCLK FCLK -> 1bit分频(默认=1, 2分频) -> HCLK 当 FCLK 小于 102MHz 时不分频, 否则2分频 PCLK HCLK -> 1bit分频(默认=0, 不分频) -> PCLK (外设频率) PCLK 是大部分外设 tiMER, ADC, SPI, WDT, GPIO, I2C, UART 的时钟 QSPI FCLK -> 3bit分频(默认=3, 4分频) -> QSPI 低频振荡源
时钟结构 (外部或内部 32K RTC OSC) -> SYSTICK 内部 32K OSC -> Security 时钟设置 以下代码基于 air105_project 的库函数 https://gitee.com/iosetting/air105_project 寄存器 寄存器手册 Air105芯片数据手册_1.1.pdf 寄存器的基础地址, 定义在 air105.h
SYSCTRL_BASE 地址 = 外设基础地址 0x40000000UL + APB0 偏移 0x10000 + SYSCTRL 偏移 0xF000 范围 [0x4001_F000, 0x4001_FFFF] 时钟振荡源 振荡源选择
12MHz 时钟来源选择: 0:片外 XTAL, 1:片内 OSC
时钟频率 设置使用默认的内部时钟HSI(Internal clock)
PLL分频的选项
设置 SysTick
调用 SysTick_Config 将单个 SysTick 设置为 1 us. 也可以直接使用SYSCTRL->HCLK_1MS_VAL * 2 / 1000这个变量代表了当前时钟配置下, 1ms需要的HCLK时钟周期, 根据当前FCLK是否大于108MHz 确定是否要乘以2. 之后就会每隔1us调用 SysTick_Handler(void), 在这里设置 32bit g_current_tick 递增, 可以用于延时控制. 因为32bit数的限制, 1.2个小时后会溢出, 所以这里有一个延迟的极限.
延迟函数 为避免溢出造成的延迟错误, 需要做一个判断
延迟函数
代码 代码地址: https://gitee.com/iosetting/air105_project 可以使用Keil5 MDK 直接打开 Demos 目录下的示例项目, 与Air105开发板接线参考前一篇合宙AIR105(一): Keil MDK开发环境, DAP-Link 烧录和调试 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【合宙Air780E开发板趣味应用】Air780E开发板方言打麻将
2735 浏览 0 评论
6730 浏览 0 评论
8188 浏览 0 评论
4760 浏览 0 评论
【合宙Air551G双频定位开发板试用体验】Part2:与其他定位模块进行对比
41093 浏览 0 评论
【合宙Air780E开发板趣味应用】Air780E开发板方言打麻将
2740浏览 0评论
/7
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 08:00 , Processed in 0.570276 second(s), Total 47, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
812