stm8编程代码优化,stm8s芯片编程软件
本内容由系统网小编为大家分享,Windows系统安装教程、办公系统、软件怎么使用、软件使用教程、办公软件攻略等信息。STM8的C语言编程(5)--8位定时器应用之一在STM8单片机内有多个计时器资源8一个固定的计时器,也是常见的16位置计时
本内容由系统网小编为大家分享,Windows系统安装教程、办公系统、软件怎么使用、软件使用教程、办公软件攻略等信息。
STM8 的 C 语言编程( 5 )-- 8 位定时器应用之一 在 STM8 单片机内有多个计时器资源 8 一个固定的计时器,也是常见的 16 位置计时器和先进的计时器。 今天的实验是最简单的 8 位定时器 TIM4 拖延,然后开车 LED 为了简化,这里是一个程序查询,以确定时间表是否生成更新事件,以确定时间表延迟是否结束。 同样还是利用 ST 产生一种开发工具的 C 修改程序的框架,然后修改它 main.c ,修改后的代码如下。 编译后,下载到开发板上,运行程序,你可以看到 LED 在闪烁或使用无线电时,你可以 LED 引脚上看到方波。 这里特别提醒的是,从 ST 在手册中,这个计时器是一个附加程序 1 这个计数器,但在实验过程中我感觉不太好,经过反复的实验,我认为应该减少 1 计算器(也许我的手册是错的,也许有误解)。 例如,在调度器中插入自动加载注册表时 255 在最低的频率上,按照下面的代码计算,生成的频率为 30HZ 在启动时,输入自动装载注册表 1 所产生的最大波频率大约是 3.9K 就是说,实际频率是 ARR 寄存器的值 +1 。 // 程序描述:通过初始化计时器 4 ,进行延时,驱动 LED 闪烁 // LED 接在 MCU 的 GPIO 的 PD3 上 #include "STM8S207C_S.h" main() { // 首先初始化 GPIO PD_DDR = 0x08; PD_CR1 = 0x08; // 将 PD3 设置成推挽输出 PD_CR2 = 0x00; // 然后初始化定时器 4 TIM4_IER = 0x00; // 禁止中断 TIM4_EGR = 0x01; // 允许产生更新事件 TIM4_PSCR = 0x07; // 计数器时钟 = 主时钟 /128=2MHZ/128 // 相当于计数器周期为 64uS TIM4_ARR = 255; // 重载时设置注册表值, 255 是最大值 TIM4_CNTR = 255; // 设定计数器的初值 // 定时周期 =(ARR+1)*64=16320uS TIM4_CR1 = 0x01; // b0 = 1, 允许计数器工作 // b1 = 0, 允许更新 // 设置控制器,开始计时器 while(1) // 进入无限循环 { while((TIM4_SR1 & 0x81) == 0x00); // 等待更新标志 TIM4_SR1 = 0x00; // 清除更新标志 PD_ODR = PD_ODR ^ 0x08; // LED 驱动信号取反 // LED 闪烁频率 =2MHZ/128/255/2=30.63 } }XTw.com.Cn系统网专业应用软件下载教程,免费windows10系统,win11,办公软件,OA办公系统,OA软件,办公自动化软件,开源系统,移动办公软件等信息,解决一体化的办公方案。
免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!
联系邮箱:773537036@qq.com