完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
最近看了STM32F407的ADC与USART的基本内容,打算简单的用一下,其实我就是把ADC的值读一下再算一下就用USART发送出去。本文是学习过程的一点记录。 使用到的工具及版本: STM32CubeMX版本:6.3.0 HAL:STM32CubeF4 Firmware Package V1.26.1 MDK:V5.32.0.0 开发板:野火的霸天虎V2(主控芯片是STM32F407ZG) STM32CubeMX生成初始化代码 打开STM32CubeMX,选择MCU型号,新建工程,配置时钟树,配置之前要在RCC的HSE那里选择外部谐振器作为时钟来源 选项中的BYPASS Clock Source是下图中第一种情况,是把时钟直接从引脚输入的情况,我们选的是第二种,因为开发板是连的谐振器。 根据自己的需要配置时钟树。 我打算1s开启一次AD转换,所以需要用到定时器,我用的基本定时器TIM7。TIM7设置如下: 开发板的可调电阻连的PB0引脚,可作为ADC1或ADC2的输入,我这里用的ADC1,配置如图: 开发板上的USB转串口连接着STM32的USART1的引脚,所以配置USART1: 在NVIC这里打开中断允许,并自己设定一下优先级 然后就可以生成代码了 在MDK-ARM里编辑代码 打开工程,打开main.c,我在Private user code区域添加了如下代码: /* Private user code ---------------------------------------------------------*/ /* USER CODE BEGIN 0 */ ///*************** 发送字符串 **********************/ void Usart_SendString(uint8_t *str) { unsigned int k=0; do { HAL_UART_Transmit(&huart1,(uint8_t *)(str + k) ,1,1000); k++; } while(*(str + k)!=' |