打印
[技术问答]

华大HC32芯片,有没有简单的置1、置0语句吗

[复制链接]
1213|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nongfuxu|  楼主 | 2021-4-7 07:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好! 请教华大HC32芯片,有没有像STM32F芯片那样有简单的置1、置0语句吗

        ///< 端口PD05设置为高电平(LED点亮)
        Gpio_SetIO(GpioPortD, GpioPin5);

        delay1ms(1000);
        
        ///< 端口PD05设置为低电平(LED关闭)
        Gpio_ClrIO(GpioPortD, GpioPin5);
        
        delay1ms(1000);

使用特权

评论回复
沙发
nongfuxu|  楼主 | 2021-4-7 07:45 | 只看该作者
以及输出翻转语句

LED1=~LED1;

使用特权

评论回复
板凳
tbbt| | 2021-4-7 08:05 | 只看该作者
#define LED0        Gpio_WriteOutputIO(GpioPort3,GpioPin4, FALSE)
#define LED1        Gpio_WriteOutputIO(GpioPort3,GpioPin4, TRUE)

使用特权

评论回复
地板
nongfuxu|  楼主 | 2021-4-7 08:43 | 只看该作者
tbbt 发表于 2021-4-7 08:05
#define LED0        Gpio_WriteOutputIO(GpioPort3,GpioPin4, FALSE)
#define LED1        Gpio_WriteOutputIO(GpioPort3 ...

然后可以LED0 = ~LED0了吗

使用特权

评论回复
5
linguanghua| | 2021-4-7 14:11 | 只看该作者
本帖最后由 linguanghua 于 2021-4-7 14:14 编辑

有PxBSET PxBCLR  PxBSETCLR 这几个都可以进行设置IO的电平。这类似于STM32F1。
但是 LED0 = ~LED0  这类操作不行(或许能但是麻烦)。STM32F1有bitband区所以可以方便使用。

使用特权

评论回复
6
nongfuxu|  楼主 | 2021-4-8 09:34 | 只看该作者
void SysTick_Handler(void)
{
    static uint8_t u8Flag = TRUE;

    ///<PD05电平设置为u8Flag(LED每一秒状态变化一次)
    Gpio_WriteOutputIO(GpioPortD, GpioPin5, u8Flag);

    u8Flag = !u8Flag;
}

使用特权

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

本版积分规则

417

主题

4293

帖子

2

粉丝