一个定时器产生多个频率输出
使用一个tim产生20KHz的定时中断。将需要输出的速度设定好,每次将设定的速度与上一次的结果取模累加,结果大于等于10000则取反输出。
每个通道使用一个结构体,里面包含
define PWMCLK 20000
define CLKCMP PWMCLK / 2
Typedef Struct stPwmCh{
Uint16_t pps;
Uint16_t ppscnt; //保存上一次的取模值
Uint8_t lastoutput; //保存上一次的输出值 0 or 1
Uint32_t pulsecnt; //保存需要输出的脉冲数
}
程序中,读取pulsecnt,如果不为0,将ppscnt + pps,结果取模CLKCMP存放在ppscnt,并判断如果结果大于 CLKCMP,判断lastoutput 如果为0 则输出为1 并将pulsecnt - 1。
设置为998hz时:
3hz 时:
相关推荐阅读
-
southcreek
2023-09-12 17:44
-
用QT做一个搜索DC-DC配置电阻的工具
-
设计DC-DC电路时,常常需要依据芯片的参考电压和需要的输出电压来计算配置电阻。在常用的电阻中找到合适的组合。
一个条件,求两个未知数。实际上并不容易得到想要的数据。不过可以将可选电阻值范围内,尝试...
-
southcreek
2023-09-06 17:37
-
QT中使用全局的类
-
在QT中不同模块之间传递数据可以使用全局共享的方式,比如建立一个称为SysPara 的类继承于QObject 类。
头文件中公有函数中提供一个获取这个类的指针 GetInstance()
...
-
southcreek
2023-08-25 11:48
-
QT 独立的窗口显示折线
-
在原工程中新创建一个界面类。系统会生成一个窗口ui及相应的描述这个form的类头文件和CPP文件并加入到工程中。
将类名修改成想要的类型后。直接生成。
...
-
southcreek
2023-07-06 13:14
-
加温器的建模控制仿真和实例分析
-
罗昊 southcreek's product这个加温器建模如下:输入的设定温度与输出的温度比较,将比较值使用PI调节器处理,输出控制。温度模型由实际加温装置测...
-
southcreek
2023-06-25 15:37
-
远端EEPROM热拔插可靠性设计
-
罗昊 southcreek product 这个设计使用一个EEPROM放置在应用部分上。用约一米长的电缆与主机相连,可以带电拔插。用于记录应用部分的使用状况。
为...
-
southcreek
2023-06-15 15:05
-
NTC测温电阻线性化输出的分析
-
罗昊 southcreek product&nbs...
文章评论(0条评论)
登录后参与讨论