谁能提供个STM32读取某个输入引脚数据的程序,急求 5

刚接触STM32,还不太会编程序,急需一个读取引脚数据的程序,单片机的具体型号是STM32F103RET7,想读取的引脚是42引脚,它接的是一个内置16位AD的传感器输出... 刚接触STM32,还不太会编程序,急需一个读取引脚数据的程序,单片机的具体型号是STM32F103RET7,想读取的引脚是42引脚,它接的是一个内置16位AD的传感器输出,想用串口调试助手在电脑上显示该引脚所接收到的数据
邮箱 1485031667@qq.com
展开
 我来答
joodoo75
2012-11-17 · TA获得超过449个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:93.5万
展开全部
不用自己写程序,
用stm32f10x_adc.c中的函数调用一下就可以了
提醒一下,在调用ADC_Init之前先把42脚配成AN功能。
然后用
AD_value = ADC_GetConversionValue(ADC1);就可以了。
给你一段参考的
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode = DISABLE;
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfChannel = 1;
ADC_Init(ADC1, &ADC_InitStructure);
ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_13Cycles5);

/* Configure high and low analog watchdog thresholds */
ADC_AnalogWatchdogThresholdsConfig(ADC1, 0x0fff, 0x0000);
/* Configure channel8 as the single analog watchdog guarded channel */
ADC_AnalogWatchdogSingleChannelConfig(ADC1, ADC_Channel_0);
/* Enable analog watchdog on one regular channel */
ADC_AnalogWatchdogCmd(ADC1, ADC_AnalogWatchdog_SingleRegEnable);

/* Enable ADC1 */
ADC_Cmd(ADC1, ENABLE);

ADC_ResetCalibration(ADC1);
/* Check the end of ADC1 reset calibration register */
while(ADC_GetResetCalibrationStatus(ADC1));

/* Start ADC1 calibaration */
ADC_StartCalibration(ADC1);
/* Check the end of ADC1 calibration */
while(ADC_GetCalibrationStatus(ADC1));
/* Start ADC1 Software Conversion */
ADC_SoftwareStartConvCmd(ADC1, ENABLE);

AD_value = ADC_GetConversionValue(ADC1);
深圳思驰科技有限公司_
2024-10-23 广告
深圳思驰科技是国内先进入芯片解密领域的公司,拥有数十年的丰富经验,成功帮助国内外企业、政府及知名科研机构攻克多个技术难题。在医疗电子、工控设备、军事航天、通信设备、广电设备、交通设备、汽车电子、家用电子等行业都成功推出了多款创新产品,熟悉这... 点击进入详情页
本回答由深圳思驰科技有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式