|
本帖最后由 DEMOK 于 2012-12-21 11:15 编辑
- //------------------------------------------------//
- //功能说明:MC9S12XS128--SCI例程
- //使用说明:实现PC→MCU→PC通信,用户可以根据需要修改程序,实现PC→MCU或者MCU→PC通信
- //程序设计:DEMOK工作室(demok.taobao.com)
- //设计时间:2010.01.21
- //-------------------------------------------------//
- #include <hidef.h> /* common defines and macros */
- #include "derivative.h" /* derivative-specific definitions */
- //unsigned char txt[]={"Hello World!"} ;
- void delay(unsigned int time)
- {
- unsigned int i,j,k;
- for(i=0;i<125;i++)
- for(j=0;j<125;j++)
- for(k=time;k>0;k--);
- }
- //-----------------------初始化SCI0----------------------------//
- void SciInit()
- {
- SCI0BD=52; //9600bps Baud Rate=BusClock/(16*SCIBD)
- SCI0CR1=0; //正常8位模式,无奇偶校验
- SCI0CR2=0X2C; //发送允许 接受中断允许
- }
- //----------------------读SCI数据-----------------------------//
- unsigned char SciRead()
- {
- if(SCI0SR1_RDRF==1) //表明数据从位移寄存器传输到SCI数据寄存器
- {
- SCI0SR1_RDRF=1; //读取数据寄存器会将RDRF清除 重新置位
- return SCI0DRL; //返回数据寄存器的数据
- }
- }
- //-----------------写SCI数据---------------------------------//
- void SciWrite(unsigned char sendchar)
- {
- while (!(SCI0SR1&0x80));
- SCI0DRH=0;
- SCI0DRL=sendchar;
- }
- //------------------------main----------------------------------//
- void main(void)
- {
- SciInit();
- EnableInterrupts;
- for(;;)
- {
- } /* wait forever */
- /* please make sure that you never leave this function */
- }
- //---------------------------接收中断函数-----------------------//
- #pragma CODE_SEG NON_BANKED
- void interrupt 20 SCI0_re(void)
- {
- unsigned char ch;
- ch=SciRead();
- SciWrite(ch) ;
- }
复制代码
第八届智能车摄像头技术交流群 群号:108190422
第八届智能车光电技术交流群 群号:132879827
第八届智能车电磁技术交流群 群号:118404899(已满)
第八届智能车电磁技术交流群② 群号:287996146
对号入座,欢迎加入!
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|