1. AD采样通道有多种,比如光敏、电压值、温度等等。
2. 本实验采集光敏通道的值,然后通过串口输出到上位机。
CLK_PeripheralClockConfig(CLK_Peripheral_USART1, ENABLE);// 开启串口时钟
CLK_PeripheralClockConfig(CLK_Peripheral_ADC1, ENABLE);//开启ADC时钟
USART_Init(USART1, 9600, USART_WordLength_8b, USART_StopBits_1, USART_Parity_No, USART_Mode_Tx);//串口初始化
ADC_Init(ADC1, ADC_ConversionMode_Single, ADC_Resolution_12Bit, ADC_Prescaler_1);//ADC初始化
ADC_ChannelCmd(ADC1, ADC_Channel_11, ENABLE);//使能ADC通道11
ADC_Cmd(ADC1, ENABLE);//使能ADC通道
USART_Cmd(USART1, ENABLE);//使能串口
while (1)
{
ADC_SoftwareStartConv(ADC1);// 开启ADC转换
while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET);//等待ADC转换准备好
ADC_ClearFlag(ADC1, ADC_FLAG_EOC);//清除ADC转换结束标志
value = ADC_GetConversionValue(ADC1);//获取ADC转换的值
USART_SendData8(USART1, value>>8);
while(!USART_GetFlagStatus (USART1,USART_FLAG_TXE));
USART_SendData8(USART1, value&0xff);
while(!USART_GetFlagStatus (USART1,USART_FLAG_TXE));
USART_SendData8(USART1, 0x0d);
USART_SendData8(USART1, 0x0a);
}
3. 可以通过打表的方法实现16进制的输出。
4. 输出'\r' '\n'的方法没能换行,怎样实现换行?
本文介绍了一种使用ADC进行光敏通道采样的方法,并通过串口将采样值发送至上位机的过程。文中详细描述了开启串口与时钟、配置ADC与USART参数、读取ADC值并发送至串口的具体实现。
3044

被折叠的 条评论
为什么被折叠?



