现在原来的基础上添加ADC的功能。
现在()基础上新增硬件
JoyStick Shield 游戏摇杆扩展板
与STM32F103C8的连接
目前使用
JoyStick Shield STM32F103C8
X----PA1(ADC1_IN1)
Y----PA2(ADC1_IN2)
好了我们现在STM32CubeMX来打开之前的工程
现在我们先设置ADC1_IN1
让我们来看其adc的默认配置
现在直接生成工程。
会发现在原来的工程基础上多了一些ADC的初始化函数等。
现在我们在main.C新增
/* USER CODE BEGIN PV *//* Private variables ---------------------------------------------------------*/uint16_t AD_X_Value = 0;/* USER CODE END PV */
/* USER CODE BEGIN 3 */ /*##-1- Start the conversion process #######################################*/ HAL_ADC_Start(&hadc1);// <为启动adc装换 *##-2- wait for the end of conversion #####################################* ** * before starting a new conversion, you need to check current state peripheral; if it’s busy wait before one. for simplicity reasons, this example is just waiting till but application may perform other tasks while operation ongoing. hal_adc_pollforconversion(&hadc1, 50);>为启动adc装换>
在加上我喜欢的RTT【不知道RTT的可以参考 】
别忘记在main.c加上
/* USER CODE BEGIN Includes */#include "usbd_hid.h"#ifdef RTT_LOG_ENABLED#include "rtt_log.h"#endif //RTT_LOG_ENABLED/* USER CODE END Includes */
将在HAL_MspInit()代码中 __HAL_AFIO_REMAP_SWJ_DISABLE();给注释掉
或者在STM32CubeMX配置的时候将SW接口的直接开启
下载编译
我们可以看到x轴变化的时候数据
关于STM32的ADC更多参考:
AN3116应用笔记 STM32™ 的 ADC 模式及其应用 .PDF
http://www.st.com/content/ccc/resource/technical/document/application_note/c4/63/a9/f4/ae/f2/48/5d/CD00258017.pdf/files/CD00258017.pdf/jcr:content/translations/zh.CD00258017.pdf
原版
STM32's ADC modes and their applications (AN3116)
http://www.st.com/content/ccc/resource/technical/document/application_note/c4/63/a9/f4/ae/f2/48/5d/CD00258017.pdf/files/CD00258017.pdf/jcr:content/translations/en.CD00258017.pdf