.H文件如下:
class TIM
{
public:
TIM(TIM_TypeDef *TIMx);
void begin(uint32_t frq); //frq为中断频率,取值1-1000000
void attach_interrupt(void(*callback)(void)); //中断回调函数
void interrupt(FunctionalState enable); //中断使能
void start(void);
void stop(void);
void reset_frq(uint32_t frq);
private:
void base_init(uint16_t period, uint16_t prescaler);
void set_reload(uint16_t auto_reload); //溢出值
void clear_count(void); //计数器清除
TIM_TypeDef *_TIMx;
};
我的代码:
timer3.begin(1);
timer3.attach_interrupt(uart2_sendbuff);
timer3.interrupt(ENABLE);
timer3.start();
频率为1,1秒钟发送一次,代码可用。
一秒发送一次太占用CPU,我想3秒钟发送一次,所以我就想改溢出值,但溢出值是在private区段里面无法设置,如果把溢出值改到PUBLIC区程序无法运行。 请问我要怎么解决呢?谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
改了不能用。我设置了个变量每秒进中断计数,记到自己想要的时间再发送数据
一周热门 更多>