KL25有谁在做adc转换,16进制转换为10进制并输出到显示屏上。求代码!
已解决,主程序代码如下有人用的话
#include "includes.h" //包含总头文件
int main(void)
{
//1.声明主函数使用的局部变量
uint_32 run_counter;
uint_16 ADCResult;
//1.声明主函数使用的局部变量
//1.声明主函数使用的局部变量
uint_16 VReference;
uint_8 * g_DispalyInit;
uint_8 * g_DispalyInit1;
//2.关总中断
enter_critical(); // 进入临界区
//3.初始化模块
light_init(LIGHT_PORT, LIGHT_PIN_RED, LIGHT_ON); //指示灯初始化
light_init(LIGHT_PORT, LIGHT_PIN_BLUE, LIGHT_OFF);
uart_init (UART_TEST,BUSCLK,9600); //串口1初始化, 总线时钟24000Khz,波特率9600
adc_init(SingleEND,10,SAMPLE32); //ADC0初始化单端输入,10位采样精度,32次硬件均值
dac_init(1); //DAC初始化,选择参考电压VDDA=3.3V
//3.初始化底层模块
LEDInit(); //LED初始化
LCDInit();
//LCD初始化
//4.全局变量及主函数局部变量赋初值
run_counter=0;
ADCResult=0;
VReference=0; //DAC参考数字量
//4.缓冲区赋值
g_DispalyInit = (uint_8 *)"Wait Receiving..Soochow 2013.01.";
g_DispalyInit1 = (uint_8 *)"Wait Receiving..Soochow 2013.011.";
//5.使能模块中断及总中断
uart_enable_re_int(UART_TEST);
init_critical(); //开总中断
uart_send_string(UART_TEST, "This is ADC Test!\r\n");
//6.lcd显示初始字符
LCDShow(g_DispalyInit);
LCDShow(g_DispalyInit1);
//进入主循环
//主循环开始=============================================================
for(;;)
{
run_counter++;
//循环计数到一定的值,使小灯的亮、暗状态切换
if (run_counter > RUN_COUNTER_MAX)
{
run_counter = 0;
//指示灯的亮、暗状态切换
light_change(LIGHT_PORT, LIGHT_PIN_RED);
light_change(LIGHT_PORT, LIGHT_PIN_BLUE);
//进行一次模块0通道14采样
ADCResult = adc_read(14);
g_DispalyInit=ADCResult;
//将采集的A/D值通过串口发送到PC
uart_send1 (UART_TEST ,(uint_8)(ADCResult>>8));
uart_send1 (UART_TEST ,ADCResult);
//DAC数字量转换
dac_convert(VReference);
VReference += 50;
if(VReference >= 4000) VReference = 0;
g_DispalyInit1=VReference;
} // end_if
} // end_while
//主循环结束=============================================================
return 0;
}
中间用到串口但是串口传回的却是乱码