这个相信大部分都会编写;我这里就简单的描述一下我的方法与软件.视频和照片是国庆前拍的,可能会有点问题,操作不是很顺。
1.先上原理图:
PA1是与开发板上MCU11脚,PA7是与开发板上MCU17脚,PA9是与开发板上MCU30脚。
NTC的原理图:连接是MCU的PB13 26脚,NTC是100K的,原理图是写的10k。
下面我上传我写的代码:
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);
}
下面是整个视频:
引用: 秦天qintian0303 发表于 2022-10-25 16:20 感觉N32G430的资料都是临时赶出来的,有很多小错误,要不就是对不上的,像是拿来练手的
哪里有错,我都可以跑的程序
引用: meiyao 发表于 2022-10-25 18:41 哪里有错,我都可以跑的程序
我在使用串口DMA的时候就发现连个demo对应的DMA的通道是不一样的,后来还是得看应用手册,原理图的引脚的介绍文件里的也不一致
引用: 秦天qintian0303 发表于 2022-10-25 20:38 我在使用串口DMA的时候就发现连个demo对应的DMA的通道是不一样的,后来还是得看应用手册,原理图的引脚的 ...
我这里面哪里有DMA,你是不是看错了