DELAY_US(1000*200)以及28379D双CPU运行GPIO配置问题

博客讨论了在28379D双CPU系统中,GPIO配置由CPU1控制,CPU2无法直接调用配置函数的问题。当CMD为flash时,需要特定的RAM代码来运行。此外,提到了GPIO_SetupPinMux和GPIO_SetupPinOptions函数在CPU2工程中的使用限制。
摘要由CSDN通过智能技术生成

        DELAY_US(1000*200);要在ram中运行,如果CMD是flash,那么就不能运行,需要放开flash  copy  头RAM那段代码,这个在七年前遇到过,时间长了给忘了。现在又遇到了。

        28379D双CPU运行时,GPIO 外设的配置是放在CPU1中的,因为GPIO外设寄存器的配置无需每个CPU都有控制权,如果CPU也要用GIPO作为输出输入口,那么让CPU1一下就行。

        像这样的函数:

       GPIO_SetupPinMux(34, GPIO_MUX_CPU2, 0);
       GPIO_SetupPinOptions(34, GPIO_OUTPUT, GPIO_PUSHPULL);在CPU2中是无法被调用的,因为在CPU2的工程中被注释掉了

这段代码是一个使用GD32F303芯片的嵌入式应用程序。下面是对每一行代码的注释: ```c #include "gd32f30x.h" #include "gd32f303r_start.h" #include "systick.h" ``` 这些是所需的头文件,用于包含GD32F303芯片的相关定义和函数。 ```c /*! \brief main function \param[in] none \param[out] none \retval none */ int main(void) ``` 这是主函数的定义,程序从这里开始执行。 ```c /* enable the LED1,2,3,4 clock */ rcu_periph_clock_enable(RCU_GPIOB); ``` 启用LED1、LED2、LED3和LED4的时钟。 ```c /* configure LED1,2,3,4 GPIO port */ gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_5 | GPIO_PIN_8 | GPIO_PIN_9); ``` 配置LED1、LED2、LED3和LED4的GPIO端口,使用推挽输出模式。 ```c gpio_bit_reset(GPIOB, GPIO_PIN_5 | GPIO_PIN_8 | GPIO_PIN_9); ``` 将LED1、LED2、LED3和LED4的GPIO引脚复位,即关闭LED灯。 ```c systick_config(); ``` 配置系统滴答定时器。 ```c while(1) { /* turn on PB5 */ GPIO_BOP(GPIOB) = GPIO_PIN_5; /* insert 200 ms delay */ delay_1ms(200); /* turn on PB8 */ GPIO_BOP(GPIOB) = GPIO_PIN_8; /* insert 200 ms delay */ delay_1ms(200); /* turn on PB9 */ GPIO_BOP(GPIOB) = GPIO_PIN_9; /* insert 200 ms delay */ delay_1ms(200); /* turn off LEDs */ GPIO_BC(GPIOB) = GPIO_PIN_5; GPIO_BC(GPIOB) = GPIO_PIN_8; GPIO_BC(GPIOB) = GPIO_PIN_9; /* insert 200 ms delay */ delay_1ms(200); } ``` 在一个无限循环中,依次点亮LED1、LED2、LED3并延时200毫秒,然后关闭所有LED并再次延时200毫秒。 希望这能帮助到你!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

量子力学和生命科学

写作提升自己,打赏更能鼓励我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值