}
        else
        {
break;
        }
    }
DBG_Printf ( "通道 %c 采集到的实时电压是: \n\n"  ,  ADC_Channel );
unmask_irq ( INT_GPT );
    while ( 1 )
        {
            Serial_Input = serial_getc (DEBUG_Port);
            if  (Serial_Input == ASCII_ESC)
            {
                mask_irq (INT_GPT);
                DBG_Printf ( "\n" );
                break ;
中断处理流程:
 
图3.2  中断处理流程
中断处理程序:
void  INT_GPT_Handle (  )
{    
    U16 temp = ADC_msk_Active | ADC_msk_Start |ADC_msk_VREFB \
                    & ~ADC_msk_ASE ;
    float  voltage;
    U8 string[10];
    GPT1_Mask;

    switch  (ADC_Channel)
    {
        case '1':
            temp |= ADC_msk_AD0;
            break;
        case '2':
            temp |= ADC_msk_AD1;
            break;
        case '3':
            temp |= ADC_msk_AD2;
            break;
        case '4':
            temp |= ADC_msk_AD3;
            break;
        default:
            break;
    }

    WriteUCB(ADC_reg_Control, temp);    //触发采样
    voltage = ((float)ADCRead * ADC_Vref ) / ADC_MAX;   //读取采样值并转换为电压值

    sprintf (string,"%6.3fV\t",voltage);
    serial_puts (DEBUG_Port, (U8*)string);
    
    GPT1_ClearInt(temp);
    GPT1_Unmask;
}
3.3  串口软件设计
3.3.1  串口设置程序
发送器Tx 从MCU 接收并行数据, 存入Tx FIFO, 然后在字符中加入起始位、奇偶校验位、停止位后按照设置的波特率串行(LSB first)发送出去。
将串口波特率设置为9600,转换为十吹冰进制后分别将高低八位写入波特率寄存器。设置数据位比特数为8位,无奇偶校验位,停止位1,写入行控制寄存器LCR。当发送FIFO为空时(查看行状态寄存器LSR的相关状态位LSR[5]),把要发送的数据写入发送FIFO,传送到主机上。串口设置程序详见附录B 。
上一篇:基于白光LED的室内可见光通信系统发射端电路设计仿真
下一篇:电路板故障检测仪软件设计仿真+流程图

区间运行仿真系统下位机设计

基于TCP/IP技术的转向架振动测试系统设计

ZPW-2000A型无绝缘移频自动...

LCD自动测试系统测试数据采集与处理

基于ZigBee协议轨道交通环...

基于QT的图像处理系统设计

传输矩阵微环谐振器WDM系统的模拟OptiFDTD仿真

《醉青春》导演作品阐述

辩护律师的作证义务和保...

谷度酒庄消费者回访调查问卷表

高校网球场馆运营管理初探【1805字】

拉力采集上位机软件开发任务书

浅谈新形势下妇产科护理...

中国古代秘书擅权的发展和恶变

国内外无刷直流电动机研究现状

浅谈传统人文精神茬大學...

多元化刑事简易程序构建探讨【9365字】