eBox问题。 请问有人用过eBox写的吗?定时器时间怎么设置呢?

2019-07-21 06:24发布

.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区程序无法运行。  请问我要怎么解决呢?谢谢!


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-07-21 10:37
帮顶
宫本无三四
2楼-- · 2019-07-21 10:58
自己在public里面加一个函数去调用这个void set_reload(uint16_t auto_reload);  行吗
杰克萝卜森
3楼-- · 2019-07-21 12:28
宫本无三四 发表于 2018-12-19 09:03
自己在public里面加一个函数去调用这个void set_reload(uint16_t auto_reload);  行吗

改了不能用。我设置了个变量每秒进中断计数,记到自己想要的时间再发送数据

一周热门 更多>