MC9S12XS128硬件底层驱动_readme.txt

时间:2022-12-08 16:32:15

/**************************************************************************
SYSU-ROBOT-2011
SYSU-LXIONGH
VERSION 1.0
LAST UPDATE: 2011年04月06日
--------------------------------------------
Code Warrior 5.0
Target : MC9S12XS128
Crystal: 16.000Mhz
***************************************************************************/



./Includes                   包含所有方法的声明部分
    os_cfg.h                   可配置,所有功能的配置信息.修改此处完成不同的功能.
        OS_BUS_CLK            主频设置
        OS_SCIx_EN            串口使能
        OS_SCIx_RATE        波特率设置

        OS_ATD_RSLT            AD转换精度
        OS_ATD_SMP_DIS_EN    转换前是否放电
        OS_ATD_SCI_EN        转换完成是否产生中断
        OS_ATD_SxC_SEL        转换序列长度设置
        OS_ATD_SMPx_SEL        采样周期长度设置
        OS_ATD_PRS            采样时钟分频
        OS_ATD_MULT            多通道选择
        OS_ATD_SCAN            连续转换设置
        OS_ATD_CHANNEL        起始转换通道
        OS_ATD_DI_CFG        数字选择允许控制

        OS_PWM_EN            PWM使能
        OS_PWM_POL            PWM极性选择
        OS_PWM_CLK            PWM时钟选择
        OS_PWM_PRCLKx        PWM预分频后时钟频率
        OS_PWM_SCLx            PWM再分频后时钟频率

        OS_PLUS_EN            软件脉冲累加使能
        OS_PLUS_EDGE        触发沿选择
        OS_PLUS_PT7            硬件累加使能
       
        OS_PIT_EN            PIT使能
        OS_PIT_CLK            时钟选择
        OS_PITx_PER            定时长度设置

        OS_IOH_INT_EN        此版本不能设置
        OS_IOH_INT_EDGE        此版本设置无意义
        OS_IOJ_INT_EN        PJ口中断允许控制
        OS_IOH_INT_EDGE        PJ口中断触发沿选择

    os_xs128.h                 包含有所有的头文件,主程序中只加入该头文件即可.
       
    set_adc.h                  不可修改,AD部分的函数声明
        unsigned char* GetATD(unsigned char);  ---8bit      返回相应通道的AD值
        unsigned char* GetATDArray(void)                    返回AD采样数组
        unsigned int* GetATD(unsigned char);  ---10,12bit   返回相应通道的AD值
        unsigned int* GetATDArray(void)                     返回AD采样数组
       
    set_bus_clk.h              不可修改,时钟频率设置函数声明
        void SetBusClk(void);
       
    set_io.h                   不可修改,PH口与PJ口设置,LED亮灭声明
        void InitIO(void);                                  初始化相关IO口
        unsigned char GetPortH(unsigned char mark);         得到H相应口的的值
        void SetPortH(unsigned char mark);                  置位H相应口的值
        void ClrPortH(unsigned char mark);                  复位H相应口的值
        void NotPortH(unsigned char mark);                  取反H相应口的值
        unsigned char GetPortJ(unsigned char mark);         得到J相应口的的值
        void SetPortJ(unsigned char mark);                  置位J相应口的值
        void ClrPortJ(unsigned char mark);                  复位J相应口的值
        void NotPortJ(unsigned char mark);                  取反J相应口的值
       
    set_lcd12864.h             不可修改,LCD12864相关函数声明
        void SetAddress(unsigned char line,unsigned char column);       设置LCD写开始地址
        void WriteChar(char dat);                                       向LCD写入一个字符
        void WriteString(char *dat);                                    向LCD写入一串字符
       
    set_pit.h                  不可修改,XS128里面四个计时器相关声明
        void InitPIT(void);
        void SetPitTicks(unsigned char ch,unsigned char ticks)          设置相应PIT通道的定时间隔
       
    set_plus.h                 不可修改,输入捕捉充当软件脉冲累加功能
        void InitPlus(void);                          初始化PT相应口为输入捕捉功能,用作软件累加器
        unsigned int GetPlusCnt(unsigned char ch);    得到相应通道的计数值
        void ClrPlusCnt(unsigned char ch);            清除相应通道的计数值
        unsigned int* GetPlusCntArray(void);          得到计数指针
        void ClrPlusCntArray(void);                   清除所有的计数值
       
    set_pwm.h                  不可修改,8路PMW功能模块函数声明
        void InitPWM(void);
        void SetPWMdty(unsigned char ch,unsigned char duty);
       
    set_sci.h                  不可修改,两个串口模块函数声明
        void InitSCI0(void);                          初始化串口0
        unsigned char Uart0GetChar(void);             从串口0得到一个字符
        void Uart0PutChar(unsigned char ch);          从串口0发送一个字符
        void Uart0PutStr(char ch[]);                  从串口0发送一串字符
        void InitSCI1(void);                          初始化串口1
        unsigned char Uart1GetChar(void);             从串口1得到一个字符
        void Uart1PutChar(unsigned char ch);          从串口1发送一个字符
        void Uart1PutStr(char ch[]);                  从串口1发送一串字符
       
    func_hook.h                不可修改,函数钩子声明,用于中断相关连调用,保持代码的可维护性
        void Uart0Hook(unsigned char buf);     串口0接收中断函数钩子
        void Uart1Hook(unsigned char buf);     串口1接收中断函数钩子
        void PIT0Hook(void);                   定时器0中断函数钩子
        void PIT1Hook(void);                   定时器1中断函数钩子
        void PIT2Hook(void);                   定时器2中断函数钩子
        void PIT3Hook(void);                   定时器3中断函数钩子
        void PortJ0Hook(void);                   J0外部中断函数钩子
        void PortJ1Hook(void);                 J1外部中断函数钩子
        void PortJ6Hook(void);                 J2外部中断函数钩子
        void PortJ7Hook(void);                 J3外部中断函数钩子
        void PacketRecvDone(unsigned char* m_ucData);           数据包接收完毕函数钩子
       
./Sources                    包含所有方法的实现部分
    func_hook.c                可修改,每个必要的中断都要对应一个钩子,以保持代码的可维护性
    set_adc.c                  不可修改,AD部分的函数实现
    set_bus_clk.c              不可修改,时钟频率设置函数实现
    set_io.c                   不可修改,PH口与PJ口设置,LED亮灭实现
    set_lcd12864.c             不可修改,LCD12864相关函数实现
    set_pit.c                  不可修改,XS128里面四个计时器相关实现
    set_plus.c                 不可修改,输入捕捉充当软件脉冲累加功能
    set_pwm.c                  不可修改,8路PMW功能模块函数实现
    set_sci.c                  不可修改,两个串口模块函数实现