UC972开发板,参考实验8,完成定时器触发信号输出实验
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ETIMER0 TGL - - > PB2 #include "nuc970.h" #include "sys.h" #include "etimer.h" int main(void) { / / 高级中断控制器(AIC)Advanced Interrupt Controller outpw(REG_AIC_MDCR, 0xFFFFFFFE ); / / FFFF FFFE( 1110 ), 1 = 禁用相应的中断通道。 0 = 无效。只有最低位无影响 outpw(REG_AIC_MDCRH, 0x3FFFFFFF ); / / ( 0011 ) 3FFFFFFFE ,同理,最高两位位保留位 sysDisableCache(); sysFlushCache(I_D_CACHE); / / I_D_CACHE = 8 sysEnableCache(CACHE_WRITE_BACK); / / CACHE_WRITE_BACK = 0 sysInitializeUART(); outpw(REG_CLK_PCLKEN0, inpw(REG_CLK_PCLKEN0) | ( 1 << 4 )); outpw(REG_SYS_GPB_MFPL, inpw(REG_SYS_GPB_MFPL) | ( 0xF << 8 )); ETIMER_Open( 0 , ETIMER_TOGGLE_MODE, 1000 ); ETIMER_Start( 0 ); while ( 1 ); } |
APB Devices Clock Enable Control Register 0 :APB设备时钟启用控制寄存器0
outpw(REG_CLK_PCLKEN0, inpw(REG_CLK_PCLKEN0) | (1 << 4)); //REG_CLK_PCLKEN0的
SYS_GPB_MFPL SYS_BA+0x078 GPIOB Low Byte Multiple Function Control Register :GPIOB低字节多功能控制寄存器
1 | outpw(REG_SYS_GPB_MFPL, inpw(REG_SYS_GPB_MFPL) | ( 0xF << 8 )); / / 设置 PB2 为 ETMR0_TGL 功能 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· 手把手教你更优雅的享受 DeepSeek
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现