目录
一、中断模式编程,高电平亮灯、低电平灭灯。
1.stm32cubemx设置
芯片选择,我用的是stm32F103c8
RCC的设置
时钟设置,选择pllxlk和hse 并且*pllmul选择X9
SYS设置
关于A2,B0的设置
NVIc的设置
IDE选择MDK-ARM,后面选择V5,不要忘记设置实验名称和路径
按照我的图片进行设置
2.keil5设置
在main函数中写下
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){
GPIO_PinState b0_pin = HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_0); // 读取b0的状态
switch (GPIO_Pin){
case GPIO_PIN_0:
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, b0_pin); // 将a2写入与b0相同的电位
break;
}
}
3. 实验结果
二、串口DMA方式
1.stm32cubemx设置
芯片选择,我用的是stm32F103c8
RCC这里设置成这样
USART1这里设置
然后勾选
DMA设置
时钟设置,选择pllxlk和hse 并且*pllmul选择X9
IDE选择MDK-ARM,后面选择V5,不要忘记设置实验名称和路径
按照我的图片进行设置
2.使用kile5
找到工程文件
加入下面文件,位置要找正确
/* USER CODE BEGIN Init */
uint8_t Senbuff[] = "\r\n**** Serial Output Message by DMA ***\r\n UART DMA Test \r\n hello world!";
/* USER CODE END Init */
while (1)
{
/* USER CODE END WHILE */
HAL_UART_Transmit_DMA(&huart1, (uint8_t *)Senbuff, sizeof(Senbuff));
HAL_Delay(1000);
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}