打印
[技术问答]

国产单片机航顺HK32F030如何实现带位操作?

[复制链接]
9886|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2022-11-11 13:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
tlhmcu| | 2022-11-24 10:55 | 只看该作者
//把下面的代码放在.h的头文件里,就可以像正点原子一样进行端口的位操作了(这是我用在HK32F030M芯片上的)
//--------------------------------------------------------------------------------------------
#ifdef __cplusplus
extern "C" {
        #endif
        typedef struct
        {
                u16 bit0 : 1;
                u16 bit1 : 1;
                u16 bit2 : 1;
                u16 bit3 : 1;
                u16 bit4 : 1;
                u16 bit5 : 1;
                u16 bit6 : 1;
                u16 bit7 : 1;
                u16 bit8 : 1;
                u16 bit9 : 1;
                u16 bit10 : 1;
                u16 bit11 : 1;
                u16 bit12 : 1;
                u16 bit13 : 1;
                u16 bit14 : 1;
                u16 bit15 : 1;
        }Bits16_TypeDef;

        //IO口操作,只对单一的IO口!
        //确保n的值小于16!
        #define PAout(n)   ( ((Bits16_TypeDef *)(&(GPIOA->ODR)))->bit##n )
        #define PAin(n)    ( ( GPIOA->IDR&(1 << (n)) )>>n )  //输入

        #define PBout(n)   ( ((Bits16_TypeDef *)(&(GPIOB->ODR)))->bit##n )
        #define PBin(n)    ( ( GPIOB->IDR&(1 << (n)) )>>n )  //输入

        #define PCout(n)   ( ((Bits16_TypeDef *)(&(GPIOC->ODR)))->bit##n )
        #define PCin(n)    ( ( GPIOC->IDR&(1 << (n)) )>>n )  //输入

        #define PDout(n)   ( ((Bits16_TypeDef *)(&(GPIOD->ODR)))->bit##n )
        #define PDin(n)    ( ( GPIOD->IDR&(1 << (n)) )>>n )  //输入

        #ifdef __cplusplus
}
#endif

使用特权

评论回复
板凳
geraldbetty| | 2022-12-1 17:31 | 只看该作者
位操作的方式有很多的 。              

使用特权

评论回复
地板
olivem55arlowe| | 2022-12-1 17:40 | 只看该作者
这个可以参考stm32的代码               

使用特权

评论回复
5
maqianqu| | 2022-12-1 18:44 | 只看该作者
参考contexm3的指南。              

使用特权

评论回复
6
updownq| | 2022-12-1 19:14 | 只看该作者
HK32F030的性能怎么样              

使用特权

评论回复
7
uytyu| | 2022-12-1 21:26 | 只看该作者
库函数里面没有这个实现的代码吗              

使用特权

评论回复
8
belindagraham| | 2022-12-2 19:28 | 只看该作者
stm32的例程上有的,需要确定寄存器的地址

使用特权

评论回复
9
AloneKaven| | 2023-1-3 17:24 | 只看该作者
可以参考stm32的代码     

使用特权

评论回复
10
sr19861126| | 2023-12-29 09:09 | 只看该作者
tlhmcu 发表于 2022-11-24 10:55
//把下面的代码放在.h的头文件里,就可以像正点原子一样进行端口的位操作了(这是我用在HK32F030M芯片上的)
...

这个用不了

使用特权

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

本版积分规则

2038

主题

7363

帖子

10

粉丝