微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > KL25有谁在做adc转换,16进制转换为10进制并输出到显示屏上。求代码!

KL25有谁在做adc转换,16进制转换为10进制并输出到显示屏上。求代码!

时间:10-02 整理:3721RD 点击:
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;
}

中间用到串口但是串口传回的却是乱码

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top