[MCU] 【国民技术N32G430】测评~LED闪烁与按键开关LED/使用ADC采集NTC的值

meiyao   2022-10-25 00:01 楼主

这个相信大部分都会编写;我这里就简单的描述一下我的方法与软件.视频和照片是国庆前拍的,可能会有点问题,操作不是很顺。

1.先上原理图:

PA1是与开发板上MCU11脚,PA7是与开发板上MCU17脚,PA9是与开发板上MCU30脚。

1666626458097.jpg

NTC的原理图:连接是MCU的PB13  26脚,NTC是100K的,原理图是写的10k。

1666627259138.jpg

下面我上传我写的代码:

    NVIC_Priority_Group_Set(NVIC_PER2_SUB2_PRIORITYGROUP);
//    Key_Input_Initialize(KEY1_PORT, KEY1_PIN);
    SysTick_Delay_Ms(1000);
    Key_Input_Initialize(KEY2_PORT, KEY2_PIN);
    Key_Input_Initialize(KEY3_PORT, KEY3_PIN);
    Key_Input_Initialize(KEYWakeup_PORT, KEYWakeup_PIN);

    BasicTimer6_Init(500-1,32000-1);
    EXIT4_Macro_PA4();
    ADC1_Init();
    /* Initialize Led1~Led3 as output push-pull mode */
    LED_Initialize(LED1_GPIO_PORT, LED1_GPIO_PIN | LED2_GPIO_PIN | LED3_GPIO_PIN | KEYWakeup_PIN);

    /* Turn off Led1~Led3 */
    LED_Off(LED1_GPIO_PORT, LED1_GPIO_PIN | LED2_GPIO_PIN | LED3_GPIO_PIN);
    UART1_Init(115200);
    /* Turn on Led2~Led3 */
    //LED_On(LED2_GPIO_PORT, LED2_GPIO_PIN | LED3_GPIO_PIN);
    
    /* Delay 1s */
    SysTick_Delay_Ms(1000);

 

代码中包括串口,中断这些,是刚开始写ADC数码那些写的,我这一起拷上来。

下面是While中的代码:

    while(1)
    {
        display_mode = 5;
        if(GPIO_Input_Pin_Data_Get(KEY3_PORT, KEY3_PIN) == PIN_RESET)
        {
            SysTick_Delay_Ms(10);
            if(GPIO_Input_Pin_Data_Get(KEY3_PORT, KEY3_PIN) == PIN_RESET)
            {
                LED1_ON;
            }
            while(GPIO_Input_Pin_Data_Get(KEY3_PORT, KEY3_PIN) == PIN_RESET);
        }
        if(GPIO_Input_Pin_Data_Get(KEY2_PORT, KEY2_PIN) == PIN_RESET)
        {
            SysTick_Delay_Ms(10);
            if(GPIO_Input_Pin_Data_Get(KEY2_PORT, KEY2_PIN) == PIN_RESET)
            {
                LED1_OFF;
                LED2_ON;
            }
            
        }
//        if(GPIO_Input_Pin_Data_Get(KEY1_PORT, KEY1_PIN) == PIN_RESET)
//        {
//            SysTick_Delay_Ms(10);
//            if(GPIO_Input_Pin_Data_Get(KEY1_PORT, KEY1_PIN) == PIN_RESET)
//            {
//                LED2_OFF;
//                LED3_ON;
//            }
//        }
        if(GPIO_Input_Pin_Data_Get(KEYWakeup_PORT, KEYWakeup_PIN) == PIN_SET)
        {
            SysTick_Delay_Ms(10);
                if(GPIO_Input_Pin_Data_Get(KEYWakeup_PORT, KEYWakeup_PIN) == PIN_SET)
            {
                LED3_OFF;
            }
        }
        /* Turn on Led1 */
        

        /* Delay 1s */
        SysTick_Delay_Ms(1000);
        ADC_Value = Get_ADC_Average(ADC_Channel_15_PB13,5);
        ADC_Valuea = Get_ADC_Average(ADC_Channel_16_PB14,5);
    }

下面是整个视频:

3338b6da45f6641090260fbb0991b5bf

 

本帖最后由 meiyao 于 2022-10-25 00:03 编辑

回复评论 (5)

感觉N32G430的资料都是临时赶出来的,有很多小错误,要不就是对不上的,像是拿来练手的

在爱好的道路上不断前进,在生活的迷雾中播撒光引
点赞  2022-10-25 16:20
引用: 秦天qintian0303 发表于 2022-10-25 16:20 感觉N32G430的资料都是临时赶出来的,有很多小错误,要不就是对不上的,像是拿来练手的

哪里有错,我都可以跑的程序

点赞  2022-10-25 18:41
引用: meiyao 发表于 2022-10-25 18:41 哪里有错,我都可以跑的程序

我在使用串口DMA的时候就发现连个demo对应的DMA的通道是不一样的,后来还是得看应用手册,原理图的引脚的介绍文件里的也不一致

在爱好的道路上不断前进,在生活的迷雾中播撒光引
点赞  2022-10-25 20:38
引用: 秦天qintian0303 发表于 2022-10-25 20:38 我在使用串口DMA的时候就发现连个demo对应的DMA的通道是不一样的,后来还是得看应用手册,原理图的引脚的 ...

我这里面哪里有DMA,你是不是看错了

点赞  2022-10-25 21:02
引用: meiyao 发表于 2022-10-25 21:02 我这里面哪里有DMA,你是不是看错了

没说你这里,说的就是国民科技的资料

在爱好的道路上不断前进,在生活的迷雾中播撒光引
点赞  2022-10-25 21:04
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复