J1anbean

    1. 这个函数?  
    2. lugl4313820 发表于 2023-5-6 10:03 我的是N32WB031,不在一个频道呀。你可以到国民技术的论坛上提问题,他们的技术非常好的。
      我想问问国民库函数Flash存储的读写函数是哪个啊
    3. lugl4313820 发表于 2023-5-6 09:48 可能这款芯片要验证一下吧,我感觉也有得特殊。
      N32G031C8L
    4. 知道是什么问题了  是PA5按键有问题开发板  换成PA4 PA6就没问题能实现了
    5. 但是我的开发板按键是PA4 PA5 PA6      
    6. 好的 就是实现上电LED1亮  然后按键PA5控制LED1的亮灭
    7. 这段代码是按键控制LED1的亮灭,也是按键没反应,上电瞬间按下按键才有反应,上电后再次按下led的状态不变的 
    8. 好的哈  我是看国民官方历程照着加个按键控制 还没学到状态机
    9.  
    10. 可以看看代码打包发你了
    11. 就算我不这么写延迟按键按下去也没反应 不知道哪里有问题
    12. 帮忙看看 楼主 下面是LED KEY初始化 和LED 点亮熄灭的函数 最上面是头文件和宏定义  中间是main函数
    13. void KeyInputExtiInit(GPIO_Module* GPIOx, uint16_t Pin) {     GPIO_InitType GPIO_InitStructure;     EXTI_InitType EXTI_InitStructure;     NVIC_InitType NVIC_InitStructure;     /* Check the parameters */     assert_param(IS_GPIO_ALL_PERIPH(GPIOx));     /* Enable the GPIO Clock */     if (GPIOx == GPIOA)     {         RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOA | RCC_APB2_PERIPH_AFIO, ENABLE);     }     else if (GPIOx == GPIOB)     {         RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOB | RCC_APB2_PERIPH_AFIO, ENABLE);     }     else if (GPIOx == GPIOC)     {         RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOC | RCC_APB2_PERIPH_AFIO, ENABLE);     }     else if (GPIOx == GPIOF)     {         RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOF | RCC_APB2_PERIPH_AFIO, ENABLE);     }     else     {         return;     }     /*Configure the GPIO pin as input floating*/     if (Pin <= GPIO_PIN_ALL)     {         GPIO_InitStruct(&GPIO_InitStructure);         GPIO_InitStructure.Pin          = Pin;         GPIO_InitStructure.GPIO_Pull    = GPIO_PULL_UP;         GPIO_InitPeripheral(GPIOx, &GPIO_InitStructure);     }     /*Configure key EXTI Line to key input Pin*/     GPIO_ConfigEXTILine(KEY_INPUT_PORT_SOURCE, KEY_INPUT_PIN_SOURCE);     /*Configure key EXTI line*/     EXTI_InitStructure.EXTI_Line    = KEY_INPUT_EXTI_LINE;     EXTI_InitStructure.EXTI_Mode    = EXTI_Mode_Interrupt;     EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; // EXTI_Trigger_Rising;     EXTI_InitStructure.EXTI_LineCmd = ENABLE;     EXTI_InitPeripheral(&EXTI_InitStructure);     /*Set key input interrupt priority*/     NVIC_InitStructure.NVIC_IRQChannel                   = KEY_INPUT_IRQn;     NVIC_InitStructure.NVIC_IRQChannelPriority           = 1;     NVIC_InitStructure.NVIC_IRQChannelCmd                = ENABLE;     NVIC_Init(&NVIC_InitStructure); } /**  * @brief  Inserts a delay time.  * @param count specifies the delay time length.  */ void Delay(uint32_t count) {     for (; count > 0; count--)         ; } /**  * @brief  Configures LED GPIO.  * @param GPIOx x can be A to G to select the GPIO port.  * @param Pin This parameter can be GPIO_PIN_0~GPIO_PIN_15.  */ void LedInit(GPIO_Module* GPIOx, uint16_t Pin) {     GPIO_InitType GPIO_InitStructure;     /* Check the parameters */     assert_param(IS_GPIO_ALL_PERIPH(GPIOx));     /* Enable the GPIO Clock */     if (GPIOx == GPIOA)     {         RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOA, ENABLE);     }     else if (GPIOx == GPIOB)     {         RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOB, ENABLE);     }     else if (GPIOx == GPIOC)     {         RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOC, ENABLE);     }     else if (GPIOx == GPIOF)     {         RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOF, ENABLE);     }     else     {         return;     }     /* Configure the GPIO pin */     if (Pin <= GPIO_PIN_ALL)     {         GPIO_InitStruct(&GPIO_InitStructure);         GPIO_InitStructure.Pin = Pin;         GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUTPUT_PP;         GPIO_InitPeripheral(GPIOx, &GPIO_InitStructure);     } } /**  * @brief  Turns selected Led on.  * @param GPIOx x can be A to G to select the GPIO port.  * @param Pin This parameter can be GPIO_PIN_0~GPIO_PIN_15.  */ void LedOn(GPIO_Module *GPIOx, uint16_t Pin) {     GPIO_SetBits(GPIOx, Pin); } /**  * @brief  Turns selected Led Off.  * @param GPIOx x can be A to G to select the GPIO port.  * @param Pin This parameter can be GPIO_PIN_0~GPIO_PIN_15.  */ void LedOff(GPIO_Module* GPIOx, uint16_t Pin) {     GPIO_ResetBits(GPIOx, Pin); } /**  * @brief  Toggles the selected Led.  * @param GPIOx x can be A to G to select the GPIO port.  * @param Pin This parameter can be GPIO_PIN_0~GPIO_PIN_15.  */ void LedBlink(GPIO_Module* GPIOx, uint16_t Pin) {     GPIO_TogglePin(GPIOx, Pin); } void LedBreath(GPIO_Module* GPIOx, uint16_t Pin) {         unsigned char i = 0;         unsigned int t = 1;         unsigned char flag = 1;          while(1)         {             if(flag == 1) //LED??         {             for(i=0;i<10;i++)             {                 GPIO_ResetBits(PORT_GROUP, LED1_PIN | LED2_PIN | LED3_PIN);                  Delay(t);                 GPIO_SetBits(PORT_GROUP,LED1_PIN | LED2_PIN | LED3_PIN);        //LED??                 Delay(1001-t);             }             t++;                 if(t == 1000)             {                 flag = 0;             }         }         if(flag == 0) //LED????         {             for(i=0;i<10;i++)             {                     GPIO_ResetBits(PORT_GROUP, LED1_PIN | LED2_PIN | LED3_PIN);     //LED??                 Delay(t);                 GPIO_SetBits(PORT_GROUP,LED1_PIN | LED2_PIN | LED3_PIN);        //LED??                 Delay(1001-t);             }             t--;             if(t == 1)             {                 flag = 1;             }         }     } } /** * @brief 用户断言失败的功能。 * @param文件 失败的调用的名称。 * @param行 失败的呼叫的源线路号。 */ #ifdef USE_FULL_ASSERT void assert_failed(const uint8_t* expr, const uint8_t* file, uint32_t line){ while (1)     {     } }
    14.  
    15.  
    16. #ifndef __MAIN_H__ #define __MAIN_H__ #ifdef __cplusplus extern “C” { #endif #include “N32G031.H” /*LED1-PB1,Led2-PB6,Led3-PB7*/ #define PORT_GROUP GPIOB #define LED1_PORT PORT_GROUP #define LED2_PORT PORT_GROUP #define LED3_PORT PORT_GROUP#define LED1_PIN GPIO_PIN_1 #define LED2_PIN GPIO_PIN_6#define LED3_PIN GPIO_PIN_7 #define KEY_INPUT_PORT GPIOA #define KEY_INPUT_PIN GPIO_PIN_5 #define KEY_INPUT_EXTI_LINE EXTI_LINE5#define KEY_INPUT_PORT_SOURCE GPIOA_PORT_SOURCE #define KEY_INPUT_PIN_SOURCE GPIO_PIN_SOURCE5#define KEY_INPUT_IRQn EXTI4_15_IRQn 无效延迟(uint32_t计数); void LedInit(GPIO_Module* GPIOx, uint16_t Pin); void LedOn(GPIO_Module *GPIOx, uint16_t Pin); void LedOff(GPIO_Module* GPIOx, uint16_t Pin); void LedBlink(GPIO_Module* GPIOx, uint16_t Pin); void LedBreath(GPIO_Module* GPIOx, uint16_t Pin); void KeyInputExtiInit(GPIO_Module* GPIOx, uint16_t Pin); //uint8_t Key_Scan(GPIO_Module *GPIOx,uint16_t pin); #ifdef __cplusplus }#endif #endif /* __MAIN_H__ */
    17. 能加个WX探讨下 帮我看下吗 我小白
    18. 你好 我想问一下为啥我用国民的LED实例 在里面添加按键控制LED 按键没反应 只能在上电一瞬间才监测按键是否按下

最近访客

现在还没有访客

< 1/0 >

统计信息

已有--人来访过

  • 芯积分:46
  • 好友:--
  • 主题:--
  • 回复:18

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言