飞思卡尔11章 S12串行通信模块

合集下载

飞思卡尔MC9S12XS128串口相关功能函数

飞思卡尔MC9S12XS128串口相关功能函数
a = a%100; b = (unsigned char)(a/10);//取十位 b = b + '0'; SCI_SendChar(b); b = (unsigned char)(a%10);//取个位 b = b + '0'; SCI_SendChar(b); } //将一个16位数以ASCII形式发送出去 void SCI_SendHex16(unsigned int a) { SCI_SendHex8((unsigned char)(a>>8));//即temp = a>>8; 先传a的高 8位 SCI_SendHex8((unsigned char)a); //后传a的低8位,(一个16位的数赋 值给一个8位的变量,只取低8位,高8位自动丢失) } //以十进制的形式发送一个16位有符号数 void SCI_SendDec16s(int a) { unsigned char b; if(a&0x8000)//a为负数 { SCI_SendChar('-'); a = ~a +1; //取绝对值 } b = (unsigned char)(a/10000);//取万位 b = b + '0'; SCI_SendChar(b);
} // 返回目标数据长度 returnSrcLength / 2; } // 字节数据转换为可打印字符串 // 如:{0xC8, 0x32, 0x9B, 0xFD, 0x0E, 0x01} --> "C8329BFD0E01" // pSrc: 源数据指针 // pDst: 目标字符串指针 // nSrcLength: 源数据长度 // 返回: 目标字符串长度 int gsmBytes2String(const unsigned char*pSrc, char* pDst, int nSrcLength) { const char tab[]="0123456789ABCDEF"; // 0x0-0xf的字符查找表 for(int i=0; i { // 输出低4位 *pDst++ = tab[*pSrc >> 4]; // 输出高4位 *pDst++ = tab[*pSrc & 0x0f]; pSrc++; } // 输出字符串加个结束符

飞思卡尔嵌入式课件KL25第十一章 SPI-I2C-TSI

飞思卡尔嵌入式课件KL25第十一章  SPI-I2C-TSI
19
4.I2C总线寻址约定 I2C总线规定起始信号后的第一个字节为寻址字节, 用来寻址被控器件,并规定数据传送方向。寻址字节由 被控器的7位地址位(D7~D1位)和一位方向位(D0位) 组成。方向位为0时,表示主控器将数据写入被控器,为 1时表示主控器从被控器读取数据。 5.主机向从机读/写1个字节数据的过程 1)主机向从机写1个字节数据的过程
12
(4)接收一字节数据:uint_8 SPI_receive1(uint_8 SPI_No); (5)接收N字节数据:uint_8 SPI_receiveN(uint_8 SPI_No,uint_8 n,uint_8 data[]); (6)使能SPI中断:void SPI_re_enable_int(uint_8 SPI_No); (7)关闭SPI中断:void SPI_disablere_int(uint_8 SPI_No); 2.SPI驱动构件头文件及源程序 具体代码见书P294
15
3.I2C总线的硬件相关术语与典型电路 1)I2C总线硬件相关术语 (1)主机(主控器):在I2C总线中,提供时钟信 号,对总线时序进行控制的器件。 (2)从机(被控器):在I2C系统中,除主机外的 其它设备均为从机。 (3)地址:每个I2C器件都有自己的地址,以供自 身在从机模式下使用。 (4)发送器:发送数据到总线的器件。 (5)接收器:从总线接收数据的器件。 (6)SDA(Serial DAta):串行数据线。 (7)SCL(Serial CLock):串行时钟线。
11.1.2 KL25的SPI模块概述
KL25内部具有两个SPI模块,分别是SPI0和SPI1。 这两个模块除了时钟源不一样之外,其他的地方完全相 同。SPI0的时钟源是总线时钟,SPI1的时钟源是系统时 钟。下表为KL25的SPI引脚及 SD-FSL-KL25-EVB实际 使用的引脚。

飞思卡尔MC9S12XS128单片机各模块使用方法及寄存器配置

飞思卡尔MC9S12XS128单片机各模块使用方法及寄存器配置

飞思卡尔MC9S12XS128单片机各模块使用方法及寄存器配置手把手教你写S12XS128程序--PWM模块介绍该教程以MC9S12XS128单片机为核心进行讲解,全面阐释该16位单片机资源。

本文为第一讲,开始介绍该MCU的PWM模块。

PWM 调制波有8个输出通道,每一个输出通道都可以独立的进行输出。

每一个输出通道都有一个精确的计数器(计算脉冲的个数),一个周期控制寄存器和两个可供选择的时钟源。

每一个P WM 输出通道都能调制出占空比从0—100% 变化的波形。

PWM 的主要特点有:1、它有8个独立的输出通道,并且通过编程可控制其输出波形的周期。

2、每一个输出通道都有一个精确的计数器。

3、每一个通道的P WM 输出使能都可以由编程来控制。

4、PWM 输出波形的翻转控制可以通过编程来实现。

5、周期和脉宽可以被双缓冲。

当通道关闭或PWM 计数器为0时,改变周期和脉宽才起作用。

6、8 字节或16 字节的通道协议。

7、有4个时钟源可供选择(A、SA、B、SB),他们提供了一个宽范围的时钟频率。

8、通过编程可以实现希望的时钟周期。

9、具有遇到紧急情况关闭程序的功能。

10、每一个通道都可以通过编程实现左对齐输出还是居中对齐输出。

1、PWM启动寄存器PWMEPWME 寄存器每一位如图1所示:复位默认值:0000 0000B图1 PWME 寄存器每一个PWM 的输出通道都有一个使能位P WMEx 。

它相当于一个开关,用来启动和关闭相应通道的PWM 波形输出。

当任意的P WMEx 位置1,则相关的P WM 输出通道就立刻可用。

用法:PWME7=1 --- 通道7 可对外输出波形PWME7=0 --- 通道7 不能对外输出波形注意:在通道使能后所输出的第一个波形可能是不规则的。

当输出通道工作在串联模式时(PWMCTL 寄存器中的CONxx置1),那么)使能相应的16位PWM 输出通道是由PWMEx 的高位控制的,例如:设置PWMCTL_CON01 = 1,通道0、1级联,形成一个16位PWM 通道,由通道 1 的使能位控制PWM 的输出。

飞思卡尔MC9S12G系列芯片之【GPIO】模块总结

飞思卡尔MC9S12G系列芯片之【GPIO】模块总结

位数 8 8 8 8 2
小注: a. 由上表可知,这五个寄存器通过同一个电阻控制寄存器 PUCR 的 0~4 位分别
对应控制端口 A~D;
b. 在学习板中(这是前提,以下模块与寄存器的连接仅限此开发板):
LED 灯是通过 PORTA 寄存器控制,LED1~LED8 分别对应 PORTA 的 P0~P7 位(注意
置 0:输入 置 1:输出 置 0:上拉设备禁止 置 1:上拉设备使能 置 0:下降沿触发 置 1:上升沿触发 置 0:中断禁止 置 1:中断使能 置 0:无极性沿发生 置 1:有极性沿发生
位数 8
8
端口 P 和 J 都含有 7 个寄存器,其中与中断有关的寄存器有两个:
中断使能寄存器 PIEx 及中断标志寄存器 PIFx。
置 0:低电平 置 1:高电平 用于检测过载或输出 引脚短路条件 置 0:输入 置 1:输出 置 0:上拉设备禁止 置 1:上拉设备使能 置 0:下降沿触发 置 1:上升沿触发
WOMN 寄存器为 PORTS 和 PORTM 特有的寄存器,不常用。
位数 8
8
端口名称
寄存器种类 数据寄存器(PTT)
PORTT (PT)
GPIO 模块总结(以 MC9S12G128 为例)
一、常见功能
功能 设置输入/输出端口 设定 I/O 口的高低电平 选择内置上拉/下拉电阻 中断输入方式的选择 驱动能力的设置
需配置寄存器 DDRx(置 0 为输入,置 1 时为输出) PORTx(置 0 低电平、置 1 高电平) PERx PIEX XS128 芯片具有
EnableInterrupt;
// 定义主函数
// 禁止中断 // 设置 I/O 方向为输出 / *对 data 取反后为 0111 1111,因 LED 在低

飞思卡尔单片机S12使用方法及程序

飞思卡尔单片机S12使用方法及程序

飞思卡尔单片机S12使用方法及程序单片机简介:9S12XS128MAA单片机是16位的单片机80个引脚,CPU是CPU12X,内部RAM 8KB,EEPROM:2KB,FLASH:128KB,外部晶振16M,通过内部PLL可得40M总线时钟。

9S12XS128MAA单片机拥有:CAN:1个,SCI:2个,SPI:1个,TIM:8个,PIT:4个,A/D:8个,PWM:8个下面介绍下我们项目用到的几个模块给出初始化代码1、时钟模块初始化单片机利用外部16M晶振,通过锁相环电路产生40M的总线时钟(9S12XS128系列标准为40M),初始化代码如下:view plaincopy to clipboardprint?/******************系统时钟初始化****************/void Init_System_Clock(){asm { // 这里采用汇编代码来产生40M的总线LDAB #3STAB REFDVLDAB #4STAB SYNRBRCLR CRGFLG,#$08,*//本句话含义为等待频率稳定然后执行下一条汇编语句,选择此频率作为总线频率BSET CLKSEL,#$80}}/******************系统时钟初始化****************/void Init_System_Clock(){asm { // 这里采用汇编代码来产生40M的总线LDAB #3STAB REFDVLDAB #4STAB SYNRBRCLR CRGFLG,#$08,*//本句话含义为等待频率稳定然后执行下一条汇编语句,选择此频率作为总线频率BSET CLKSEL,#$80}上面的代码是汇编写的,这个因为汇编代码量比较少,所以用它写了,具体含义注释已经给出,主函数中调用此函数即可完成时钟初始化,总线时钟为40M.2、SCI模块初始化单片机电路做好了当然少不了和PC之间的通信,通信通过单片机串口SCI链接到PC 端的COM口上去。

飞思卡尔单片机课件-第十一章

飞思卡尔单片机课件-第十一章
Signal connector PWM D/A convert 7Seg Numeric LED
RS232 driver keypad SPI
I2C Connect points switch Pulse generator Analog voltage generator 8 LED
与PC机连接 机连接
第十一章 单片机软件开发工具使用入门
• • • • 11.1 安装 11.2 创建工程编写汇编程序 11.3 编写汇编程序 11.4 汇编调试程序 *文件管理树介绍 文件管理树介绍 *调试窗口介绍 调试窗口介绍 *调试方法介绍 调试方法介绍 *Run菜单中 菜单中control points 菜单中
汇编 反编译文件
映射文件
*.map
Page 2
最小系统板
Signal connector Power socket S12DG128
3.2.2 最小系统板
Reset button
Power socket
BDM connector RS232 DB9 MAX232 LED Crystal
实验目标板
Computer C{ return(0); }
build
010010001 110010010 001010010
USB cable 用于调试
RS232 cable 用于串行通信
BDM
platform
Page 1
第十一章 单片机软件开发工具使用入门
*.h *.c *.c++ C源文件 源文件 汇编源文件
File process tree
*.asm *.inc
链接配 置文件
*.prm
C编译器 汇编编译器

飞思卡尔MC9S12XS128功能模块驱动

飞思卡尔MC9S12XS128功能模块驱动

用了一年多飞思卡尔MC9S12XS128这款处理器,现在总结下各个功能模块的驱动.//锁相环时钟的初始化总线频率为40MHz(总线时钟为锁相环时钟的一半)//晶振为11.0592MHzvoid PLL_init(void) //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1) { //锁相环时钟= 2*11.0592*(39+1)/(10+1)=80MHz 总线时钟为40MHzREFDV=0x0A;SYNR=0x67; //0110_0111 低6位的值为19,高两位的值为推荐值while(CRGFLG_LOCK != 1);CLKSEL_PLLSEL = 1; //选定锁相环时钟//FCLKDIV=0x0F; //Flash Clock Divide Factor 16M/16=1M}//周期中断定时器的初始化-// //周期中断通道1用于脉冲累加器的定时采样,定时周期为: 10ms= (199+1)*(1999+1)/(40M) (没有使用)//周期中断通道0用于控制激光管的轮流发射,定时周期为: 2000us= (399+1)*(199+1)/(40M)//2011/4/4 15:24 定时时间改为1msvoid PIT_init(void){PITCFLMT_PITE = 0; // 禁止使用PIT模块 PITCFLMT :PIT 控制强制加载微计数器寄存器。

PITCE_PCE0 = 1; // 使能定时器通道0//PITCE_PCE1 = 1; //使能定时器通道1PITMUX = 0; //通道0,和通道1均选择8位微计数器0//修改时间只需要改下面四行PITMTLD0 = 199; //向8位微计数器中加载的值PITLD0 = 199; //向16位计数器中加载的值//PITMTLD1 = 39; //向8位微计数器中加载的值 8位,最大值不要超过255//PITLD1 = 1999; //向16位计数器中加载的值PITINTE |= 0x01; //使能定时器通道0的中断PITCFLMT_PITE = 1;//使能PIT模块}//脉冲累加器的初始化, PT7口外接光电编码器//最新修改: 2011/3/25 16:53void PT7_PulAcc_Init(void){DDRT &= 0x77;//设置PT7,PT3口为输入(硬件上PT7,PT3通过跳线联到了一块)PERT |= 0x80; //使能通道7的上拉电阻PPST &= 0x7f; //电阻设为上拉电阻TCTL4 &= 0x3f; //禁止PT3的输入捕捉功能PACTL = 0x50; //启动脉冲累加计数器,上升沿触发,禁止触发中断和溢出中断,主定时器禁止}//通道1用于控制舵机1 PWM 高电平有效,//通道3用于控制电机1 PWM 低电平有效,这与前两代车高电平有效有区别!!!!!//通道7用于给上排激光管提供PWM信号 PWM高电平有效!!!!!//通道6用于给下排激光管提供PWM信号 PWM高电平有效!!!!!// 2011-03-17 7:56 增加了A端口的使用新增通道6//2011-6-9 23:03 //增加了通道4,5的联合使用,用于控制下排方向舵机 void PWM_init(void){PWME = 0x00;//PWM禁止PWMPRCLK = 0x03; // ClockA=40M/8=5M, Clock B = 40M/1=40M PWMSCLB = 10; // Clock SB= 40/2*10= 2MHz(供电机)PWMSCLA = 5; // SA = Clock A/2*5 = 5M/10 = 500K = SA 用于控制舵机PWMPOL = 0xe2; //1110_0010通道7,通道6与通道1、通道5先输出高电平然后输出低电平,POLx=1先输出高电平后输出低电平; PPOLx=0先输出低电平)PWMCAE = 0x00; // 左对齐输出(CAEx=0为左对齐,反之为中心对齐)//PWMCLK = 0010_1010 (0 1 4 5位控制SA_1;或A_0; 2 3 6 7位控制SB_1 或B_0)//为PWM通道1选择时钟 SA(500KHz),//为PWM通道5选择时钟 SA(500KHz),//为通道3选择时钟 SB(10MHz)//为通道7选择时钟B(40MHz)//为通道6选择时钟B(40MHz)PWMCLK = 0x2A; //0010_1010PWMCTL = 0x70; //0111_0000 CON45=1,把通道4,5联合使用。

飞思卡尔MC9S12XS128各模块初始化程序--超详细注释

飞思卡尔MC9S12XS128各模块初始化程序--超详细注释

飞思卡尔MC9S12XS128各模块初始化程序--超详细注释//**************************************************************************// 武狂狼2014.5.1 整理// 新手入门的助手////***************************************************************************注释不详细/*********************************************************/函数名称:void ATD0_init(void)函数功能:ATD初始化入口参数:出口参数:/***********************************************************/void ATD0_init(void){ATD0DIEN=0x00; //使用模拟输入功能|=1;数字输入功能// ATD0CTL0=0x07; //Bit[3:0]WRAP[3:0] 反转通道选择位ATD0CTL1=0x40; // 12位精度,采样前不放电 Bit[7]ETRIGSEL(外部触发源选择位。

=0选择A/D通道AN[15:0] |=1选择 ERTIG3~0)和Bit[3:0]ETRIGCH[3:0]选择外部触发通道// Bit[6:5]SRES[1:0]A/D分辨率选择位。

Bit[4]SMP_DIS =0采样前不放电|=1采样前内部电容放电,这会增加2个A/D时钟周期的采样时间,有助于采样前进行开路检测ATD0CTL2=0x40; // 快速清零,禁止中断,禁止外部触发ATD0CTL3=0x90; // 右对齐,转换序列长度为2,非FIFOATD0CTL4=0x03; // 采样时间4个周期,PRS=31,F(ATDCLK)=F(BUS)/(2(PRS+1))// ATD0CTL5=0x30; //启动AD转换序列//:对每项数据采集时,用到哪个通道采样可在相应子函数内设置某一通道(见Sample_AD.c)while(!ATD0STAT2L_CCF0);/*********************************************************/函数名称:void PIT_init(void)函数功能:初始化PIT 设置精确定时时间(1s)入口参数:无出口参数:无说明:无/***********************************************************/void PIT_init(void){PITCFLMT=0x00; //禁止PIT模块Bit[7] PITE:PIT模块使能位,0禁用|1使能// Bit[6] PITSWAI:等待模式下PIT停止位,0等待模式下,PIT模块正常运行| 1等待模式下,PIT模块停止产生时钟信号,冻结PIT模块// Bit[5] PITFRZ: 冻结模式下PIT计数器冻结位。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆大学通信工程学院 任勇
1 1 2 3 4 5 6 7 8
11.2 SCI串行通信接口 SCI串行通信---异步通信,最常用;SCI基本概念: 1、异步串行通信的格式(NRZ,8位或9位,异步通信:每一数据块的字符以起
始位“0”表示开始;停止位 “1”表示结束)
开始位 第0位 第1位 第2位 第3位 第4位 第5位 第6位 第7位 停止位
SBR7 SBR6 SBR5 SBR4
SBR3 SBR2 SBR1
波特率计算公式:波特率=总线频率/(16xBR),编程时按16位送数,如: LDX #13 STX SCI0BD ; 2MHz/(16x13)=9600bps
重庆大学通信工程学院 任勇
(2) SCI控制寄存器---SCIxCR1、SCIxCR2
P
P
0
1
2
3
4
5
6
7
L
1
1
1
1
1
3
4
5
6
2
1
1
0
1
2
3
4
5
1
1 6
2
1 5
3
1 4
4
1 3
5
1 2
6
1 1
7
1 0
【实例】SPI输入的开关检测。(74LS165:并入串出)
8
9
1
1
1
1
1
1
1
6
5
4
3
2
1
0
9
1
R
VCC
0
1
SW-DIP8
S K
使用SPI,节省MCU的引脚,但须增加外接移位寄存器。
SPI接口还方便于:对一些具有SPI接口能力的芯片可以直接连接 通信,如AD采集芯片TLC2543。
第11章 S12串行通信模块
MCU与外设进行数据交换称为通信,方法: 并行---多位同时传输。速度快,距离近,占引脚多 串行---逐位顺序传输。速度慢,距离远,占引脚少 串行通信须遵守通信协议,S12集成:SPI、SCI、CAN、I2C等
11.1 SPI串行通信接口
SPI(Serial Peripheral Interface)---串行外设接口,一种同步串行 通信系统,即收、发双方共享同一个时钟信号。 SPI通信原理:
U
0
MOSI
MISO
TXD
RXD
SCK
S
S
VCC
VCC
1
R
0
9
K
9
8
2
1
74LS164
U
M
B
A
1
CLK
R
Q
Q
Q
Q
Q
Q
Q
Q
7
6
5
4
3
2
1
0
1
1
1
1
6
5
4
3
【实例】SPI输出控制的跑马灯。(74LS164:串入并出)
2、发送或接收1个字节
3
2
1
0
SPI寄存器具体定义见书,不确定时用默认;用时查对。
重庆大学通信工程学院
LED8
LED7
LED6
LED5
LED4
LED3
LED2
LED1
任勇
1 0 0
R
1
R
1
R
1
R
1
R
1
R
1
R
1
R
0
0
0
0
0
0
0
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
程序略…
MCU
Freescale
U
0
MOSI
MISO
TXD
RXD
SCK
S
S
VCC
9
7
74LS165
U
Q
Q
2
7
Hale Waihona Puke 7CLK1CLK2
SER
P
P
P
P
P
P
P
2.串行通信的波特率
定义:每秒内传送的位数 单位:b/s或bps 常用:1200bps、4800bps、9600bps……
3.奇偶校验
奇校验:校验位为0或1,使得1的数目是奇数 偶校验:校验位为0或1,使得1的数目是偶数
4.串行通信的传输方式
单工:1根数据线 全双工:2根数据线;常用 半双工:1根数据线
重庆大学通信工程学院 任勇
(4) SCI数据寄存器---SCIxDRH、SCIxDRL
高位SCIDRH
Bit7 R8 Bit6 T8 Bit5 \ Bit4 \ Bit3 \ Bit2 \ Bit1 \ Bit0 \
低位SCIDRL
Bit7 R7/T7
Bit6 R6/T6
Bit5 R5/T5
Bit4 R4/T4
重庆大学通信工程学院
任勇
SCI串行通信接口的应用程序 基本编制方法: 1、初始化:设置波特率、设置2个控制寄存器 2、发送数据:先判断是否可以发送数据,可以时再发送 3、接收数据:先判断是否可以接收数据,可以时再接收
【实例】查询方式的SCI串行口收发数据。(可连接PC机)
重庆大学通信工程学院
任勇
读/写 设置传输格式、中断使能 只读 中断标志、发送与接收状态 读/写 设置波特率 只读 读取各个状态标记位 读/写 收发的数据
注:由于有两个串行外设接口(SPI0/SPI1),编程使用时, 寄存器名称中SPI改为SPIx,x=0,1。
重庆大学通信工程学院 任勇
编程基本方法: 1、初始化
MCU
Freescale
U 1 VCC C 1 1 6 5 1 u C1+ VCC F C MCU 1 C 1 u F 3 2 3 1 u C1V 4 + C2+ V C 2 6 C 1 u F 1 u 4 F F
PC-




5
1
C2-
G
N
D
5
TXD
1
1
1
4
RXD
2
6
1
1
T1IN
T1OUT
1
2
1
3
TXD
3
7
1
R1OUT
RXD
举例:设置禁止中断、允许发送、允许接收,查询方式收发 SCI0CR2=0x0C;
(3) SCI状态寄存器---SCIxSR1
Bit7
TDRE
Bit6
TC
Bit5
RDRF
Bit4
IDLE
Bit3
OR
Bit2
NF
Bit1
FE
Bit0
PF
常用: TDRE:发送寄存器空标志。1=可以发送数据;0=不可以发送数据,需等待 RDRF:接收数据满标志。 1=可以取出数据;0=不可以取出数据,需等待
重庆大学通信工程学院 任勇
11.1.1 SPI工作模式 3种: 主机模式 从机模式 双工模式 11.1.2 SPI寄存器
地址
SPI0
$00D8 $00D9 $00DA $00DB $00CD
SPI1
寄存器名称与缩写
访问 权限
基本功能
$00F0 控制寄存器1(SPICR1) $00F1 控制寄存器2(SPICR2) $00F2 波特率寄存器(SPIBR) $00F3 状态寄存器(SPISR) $00F5 数据寄存器(SPIDR)
主 MCU 移位寄存器 MISO MOSI SPSCK 波特率发生器 MISO MOSI SPSCK 从 MCU 移位寄存器
1个时钟(SCK)
2个数据信号(MISO,MOSI) 1个从机选择信号(SS)
重庆大学通信工程学院
任勇
SPI模块的内部组成 如图11-1,主要包括: 8位移位寄存器、时钟控制逻辑、引脚控制逻辑、SPI控制逻 辑、分频器、波特率寄存器、状态寄存器、SPI控制寄存器。 其中:总线时钟经波特率寄存器进行分频选择后作为SPI时钟 源,核心是8位移位寄存器,在SCK的作用下,数据寄存器的 数据从8位移位寄存器移出或移入。控制寄存器负责控制SPI工 作方式,状态寄存器负责记录SPI工作状态。 SPI模块的外部引脚 当SPI模块使能时,S口的PS7~PS4变为SPI的MISO、MOSI、 SS、SCK引脚:
重庆大学通信工程学院 任勇
5. RS-232C串行通信标准
采用负逻辑:逻辑“1”:-15V~-3V ;逻辑“0”:+3V~+15V 传输距离≤30m,通信速率≤20Kbps 接口:9芯;常用3线:地(GND)、发送数据(TXD)、接收数据(RXD)
6. SCI的电平转换电路(MCU与MCU之间无需)
R1IN
1
0
7
T2IN
T2OUT
9
8
G
N
D
R2OUT
MAX232
R2IN
5
9
4
8
7. SCI通信的基本工作原理
MCU与PC机串行通信电路
接收时,把外部单线输入的串行数据变成1个字节的并行数据送入MCU 发送时,把需要发送的1个字节的并行数据转换为串行数据单线输出
重庆大学通信工程学院 任勇
DB9
11.2.2 SCI的寄存器设置 (1)SCI波特率寄存器---SCIxBDH、SCIxBDL(共16位)
高8位SCIBDH 低8位SCIBDL
相关文档
最新文档