求助,如何把STM32的寄存器传递进函数?

2019-12-11 18:24发布

  1. void a(u16 *b)
  2. {
  3.     *b = 100;
  4. }

  5. void main(void)
  6. {
  7.     a(&TIM5->CCR1);
  8. }
复制代码

想把一个寄存器的值通过调用函数 a 进行修改,使用上述方法无法实现,请问要怎么修改才能实现?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
Error.Dan
1楼-- · 2019-12-11 19:08
你需要传一个指针的指针
函数签名长这样: void a(**b)
yangbo18416
2楼-- · 2019-12-11 21:32
我好像就是你这样弄的,不过我做的时赋值,传递待赋值变量的地址给到函数A,在A内对变量进行赋值,是可以的
takashiki
3楼-- · 2019-12-12 00:26
类型不匹配,编译器没有警告么?人家的定义:
  1.   __IO uint16_t CCR1;
复制代码
isakura
4楼-- · 2019-12-12 04:47
我怎么看不懂.....

寄存器不是直接写就OK吗?还需要传递?

再说如果不能直接写,那打开保护就行了啊

一周热门 更多>