打印
[单片机芯片]

CH579M使用库开发碰到的小问题

[复制链接]
4416|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
d1z1y2|  楼主 | 2021-10-21 14:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
pi, IO, gp, GPIO, AD, se
使用库开发,读取IO电平时,一直读到的是0,代码如下:
u8 btnv = GPIOB_ReadPortPin(GPIO_Pin_18);

查了一两个小时,最后才注意到 #define        GPIOB_ReadPortPin( pin )                (R32_PB_PIN&pin) ,这玩意得到的是一个32位的值。

编写库的时候,为啥不转换一下呢,ReadPortPin 的理解难道读取的不是一个 bool 型吗?搞得我现在想直接改库吧又为难,要考虑后续的库的兼容性和移植。再自己封装一个.h 文件也不合适,尴尬得很。

((R32_PB_PIN&pin) >0?true:false)

使用特权

评论回复
沙发
WCHTECH75| | 2022-3-21 15:04 | 只看该作者
是的,例程中读出来的是一个32位的值,如自己有需要根据自己的需要修改。

使用特权

评论回复
板凳
kaif2n9j| | 2022-4-15 11:34 | 只看该作者
你可以自己写个定义,就行了呀

使用特权

评论回复
地板
zhizia4f| | 2022-4-15 13:03 | 只看该作者
自己修改一下就好了,也不是太过麻烦的事儿

使用特权

评论回复
5
l1uyn9b| | 2022-4-15 13:19 | 只看该作者
库函数肯定不能太面面俱到啦,得自己新增自己需求的函数

使用特权

评论回复
6
suw12q| | 2022-4-15 13:45 | 只看该作者
自己转换一下好像也没啥问题

使用特权

评论回复
7
t1ngus4| | 2022-4-15 14:25 | 只看该作者
还没咋鼓捣过,不过我觉得我应该也不复杂

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

40

帖子

2

粉丝