第三章 时钟系统(CS)
3.1 本章引言
- ACLK:辅助时钟。当运行在DCO时,ACLK是固定在32kHz。如果设备是设置在DCO旁路模式,ACLK运行在旁路时钟频率的1/512。
- MCLK:主时钟。MCLK可以被1,2,4,8或16分频。MCLK通常被CPU和系统使用。
- SMCLK:子系统主时钟。SMCLK可以被1,2,4,8或16分频。SMCLK可以被各个外围模块通过软件选择使用。
- SD24CLK:SD24时钟提供一个1.024MHz固定频率的时钟给Sigma-Delta ADC(SD24)。
3.2 函数总览
|
1
|
void GS_setupDCO ( uint8_t mode )
|
|
使用选中的模式配置DCO
|
|
|
2
|
void CS_initClockSignal (uint8_t clockSource, uint8_t clockSourceDivider)
|
|
使用分频器初始化时钟信号
|
|
|
3
|
uint32_t CS_getACLK (void)
|
|
获取当前ACLK的频率(单位Hz)
|
|
|
4
|
uint32_t CS_getSMCLK (void)
|
|
获取当前SMCLK的频率(单位Hz)
|
|
|
5
|
uint32_t CS_getMCLK (void)
|
|
获取当前MCLK的频率(单位Hz)
|
|
|
6
|
uint8_t CS_getFaultFlagStatus (uint8_t mask)
|
|
获取DCO故障(或错误)标志状态
|
- CS_setupDCO()
- CS_initClockSignal()
- CS_getACLK()
- CS_getSMCLK()
- CS_getMCLK()
- CS_getFaultFlagStatus()
21ic 电子网:
第四章 EUSCI通用异步接收器/发送器(EUSCI_A_UART)
4.1 本章引言
MSP430i2xx系列的EUSC_A_UART驱动库特性包括:
奇偶校验或非奇偶校验
独立的发送和接收移位寄存器
分立的发送和接收缓冲寄存器
低位优先或高位优先数据发送和接收
内置空闲线和地址位通信协议的多处理器系统
具有从LPMx模式自动唤醒接收器启动的边缘检测
用于错误检测和抑制的状态标志
地址检测的状态标志
用于接收和发送独立的中断能力在UART模式中,eUSCI在一定的位速率下,异步与另外一个设备进行字符的发送和接收。每个字符的时间长度是基于所选择的eUSCI的波特率所固定的。因此,发送和接收函数要使用相同的波特率进行通信。
这个驱动程序包含在eusci_a_uart.c文件里,eusci_a_uart.h头文件包含该应用程序使用的API定义。4.2 函数总览
1
bool EUSCI_A_UART_init ( uint16_t baseAddress,EUSCI_A_UART_initParam *param )
先进的UART模块初始化程序,把初始化参数通过初始化函数写进时钟预分频器。
2
void EUSCI_A_UART_transmitData (uint16_t baseAddress, uint8_t transmitData)
从UART模块发送出去一个字节
3
void EUSCI_A_UART_receiveData (uint16_t baseAddress)
接收一个字节数据。
4
void EUSCI_A_UART_enableInterrupt (uint16_t baseAddress,uint8_t mask)
使能UART(独立的)中断源
5
void EUSCI_A_UART_disableInterrupt (uint16_t baseAddress,uint8_t mask)
关闭UART(独立的)中断源
6
void EUSCI_A_UART_getInterruptStatus (uint16_t baseAddress,uint8_t mask)
获取当前UART中断状态
7
void EUSCI_A_UART_clearInterruptStatus (uint16_t baseAddress,uint8_t mask)
清除UART中断源。(备注:清除中断状态,重置中断状态标识)
8
void EUSCI_A_UART_enable (uint16_t baseAddress)
启用UART模块
9
void EUSCI_A_UART_disable (uint16_t baseAddress)
关闭UART模块
10
uint8_t EUSCI_A_UART_queryStatusFlags (uint16_t baseAddress, uint8_t mask)
获取当前UART状态标志.(查询UART当前状态标识)
11
void EUSCI_A_UART_setDormant(uint16_t baseAddress)
把UART模块设置在休眠模式
12
void EUSCI_A_UART_resetDormant(uint16_t baseAddress)
把UART模块从休眠模式唤醒
13
void EUSCI_A_UART_transmitAddress(uint16_t baseAddress,uint8_t transmitAddress)
根据所选的多处理器模式,传送下一个字节标记为地址
14
void EUSCI_A_UART_transmitBreak(uint16_t baseAddress)
发送终止
15
uint32_t EUSCI_A_UART_getReceiveBufferAddress(uint16_t baseAddress)
返回RX缓冲区的UART的DMA模块的地址。
16
uint32_t EUSCI_A_UART_getTransmitBufferAddress(uint16_t baseAddress)
返回TX缓冲区的UART的DMA模块的地址。
17
void EUSCI_A_UART_selectDeglitchTime(uint16_t baseAddress,uint16_t deglitchTime)
设置抗尖峰脉冲时间
EUSI_A_UART_API提供了一组函数,用来实现一个中断驱动EUSI_A_UART的驱动程序。该EUSI_A_UART初始化的各种模式和功能是由EUSCI_A_UART_init()完成。这个函数初始化结束时EUSI_A_UART保持禁用(所有的相关配置工作完成后才会通过函数启动UART)。EUSCI_A_UART_enable()使EUSI_A_UART,模块现在已经可以准备传输和接收了。
建议通过EUSCI_A_UART_init()初始化EUSI_A_UART,使能所需的中断,然后通EUSCI_A_UART_enable()启用EUSI_A_UART。
EUSI_A_UART API函数分为三组:那些处理EUSI_A_UART模块配置和控制的,用于发送和接收数据的,管理中断和状态的。
配置和控制EUSI_UART的函数有:EUSCI_UART_init()
EUSCI_UART_enable()
EUSCI_UART_disable()
EUSCI_UART_setDormant()
EUSCI_UART_resetDormant()
EUSCI_UART_selectDeglithTime()通过EUSI_UART发送和接收数据的函数有:
EUSCI_UART_transmitData()
EUSCI_UART_receiveData()
EUSCI_UART_transmitAddress()
EUSCI_UART_transmitBreak()管理EUSI_UART中断和状态的函数有:
EUSCI_UART_enableInterrupt()
EUSCI_UART_disableInterrupt()
EUSCI_UART_geInterruptStatus()
EUSCI_UART_clearInterrupt()
EUSCI_UART_queryStatusFlags()void EUSCI_A_UART_clearInterruptStatus (uint16_t baseAddress,uint8_t mask)
清除UART中断源。
UART中断源被清除,所以它不再断言(计算机专业术语,大概意思就是:中断源被清除后,相关的不再执行,根据我们所接触过的类似的情况,可以看出来,清除中断标志后,才可以重新接收新一次的中断信号,本次中断信号已经完成,不再有效)。
该函数共两个参数:baseAddress和mask。
参数baseAddress
是EUSCI_A_UART模块的基地址
mask
将被清除中断源的位掩码。掩码值可以是以下量的逻辑或:
EUSCI_A_UART_RECEIVE_INTERRUPT_FLAG
EUSCI_A_UART_TRANSMIT_INTERRUPT_FLAG
EUSCI_A_UART_STARTBIT_INTERRUPT_FLAG
EUSCI_A_UART_TRANSMIT_COMPLETE_INTERRUPT_FLAG该函数修改UCAxIFG寄存器。
返回值:无。
void EUSCI_A_UART_disable (uint16_t baseAddress)
关闭UART模块。
该函数只有1个参数:baseAddress。
参数baseAddress
是EUSCI_A_UART模块的基地址
该函数修改UCAxCTL1寄存器的UCSWRST位。
返回值:无。
void EUSCI_A_UART_disableInterrupt (uint16_t baseAddress, uint8_t mask)
关闭独立的UART中断源。
禁用表示的UART中断源。只有启用的源可以反映给处理器进行中断。禁用的源不会影响到处理器的工作。
该函数共两个参数:baseAddress和mask。
参数baseAddress
是EUSCI_A_UART模块的基地址
mask
掩码位对应的中断源将会被关闭。掩码值可以是以下量的逻辑或:
EUSCI_A_UART_RECEIVE_INTERRUPT 接收中断
EUSCI_A_UART_TRANSMIT_INTERRUPT 发送中断
EUSCI_A_UART_RECEIVE_ERRONEOUSCHAR_INTERRUPT 收到错误的字符中断使能
EUSCI_A_UART_BREAKCHAR_INTERRUPT 接收间隔字符中断使能
EUSCI_A_UART_STARTBIT_INTERRUPT 起始位接收中断启用
EUSCI_A_UART_TRANSMIT_COMPLETE_INTERRUPT 发送完成中断使该函数修改UCAxCTL1寄存器的UCAxIE位。
返回值:无。
21ic 电子网:
void EUSCI_A_UART_enable(uint16_t baseAddress)
启用UART模块,这将能够操作UART模块。
该函数只有1个参数:baseAddress。
参数baseAddress
是EUSCI_A_UART模块的基地址
该函数修改UCAxCTL1寄存器的UCSWRST位。
返回值:无。
void EUSCI_A_UART_enableInterrupt (uint16_t baseAddress, uint8_t mask)
启用独立的UART中断源。
只有这个源使能启用后才能够反映到处理器中断;关闭源将不再影响到处理器。
注释:通过该函数启动中断源,才可以把中断事件产生的中标标志置位反映到处理器响应中断,进行中断,如果关闭了中断源,系统将不会把中断标志置位的信号传递给处理器,也不会响应中断。这就是为什么,总是看到,启动中断程序前都进行了中断标志位清零操作。
该函数共两个参数:baseAddress和mask。
参数baseAddress
是EUSCI_A_UART模块的基地址
mask
掩码位对应的中断源将会被关闭。掩码值可以是以下量的逻辑或:
EUSCI_A_UART_RECEIVE_INTERRUPT 接收中断
EUSCI_A_UART_TRANSMIT_INTERRUPT 发送中断
EUSCI_A_UART_RECEIVE_ERRONEOUSCHAR_INTERRUPT 收到错误的字符中断使能
EUSCI_A_UART_BREAKCHAR_INTERRUPT 接收间隔字符中断使能
EUSCI_A_UART_STARTBIT_INTERRUPT 起始位接收中断启用
EUSCI_A_UART_TRANSMIT_COMPLETE_INTERRUPT 发送完成中断使该函数修改UCAxCTL1寄存器的UCAxIE位。
返回值:无。
uint8_t EUSCI_A_UART_getInterruptStatus (uint16_t baseAddress, uint8_t mask)
获取当前UART中断状态。
这将为UART模块返回基于其传递的标志的中断状态。
该函数共两个参数:baseAddress和mask。
参数baseAddress
是EUSCI_A_UART模块的基地址
mask
返回掩码的中断标志位状态。掩码值可以是以下量的逻辑或:
EUSCI_A_UART_RECEIVE_INTERRUPT_FLAG
EUSCI_A_UART_TRANSMIT_INTERRUPT_FLAG
EUSCI_A_UART_STARTBIT_INTERRUPT_FLAG
EUSCI_A_UART_TRANSMIT_COMPLETE_INTERRUPT_FLAG该函数修改UCAxIFG寄存器。
返回值
下面量的逻辑或:
EUSCI_A_UART_RECEIVE_INTERRUPT_FLAG
EUSCI_A_UART_TRANSMIT_INTERRUPT_FLAG
EUSCI_A_UART_STARTBIT_INTERRUPT_FLAG
EUSCI_A_UART_TRANSMIT_COMPLETE_INTERRUPT_FLAG
指示掩码标志状态。
uint32_t EUSCI_A_UART_getReceiveBufferAddress (uint16_t baseAddress)
为DMA模块返回UART的RX缓冲器地址。
这可以结合使用DMA直接接收到的数据存储到内存。
参数baseAddress
是EUSCI_A_UART模块的基地址
返回值:RX缓冲器地址。
uint32_t EUSCI_A_UART_getTransmitBufferAddress (uint16_t baseAddress)
为DMA模块返回UART的TX缓冲器地址。
这可以结合使用DMA直接接收到的数据存储到内存。
参数baseAddress
是EUSCI_A_UART模块的基地址
返回值:TX缓冲器地址。
bool EUSCI_A_UART_init ( uint16 t baseAddress, EUSCI A UART initParam ∗ param )
先进的UART模块初始化程序。
被写进clockPrescalar(前置分频器),firstModReg,secondModRge和overSampling(过采样)的参数应该提前计算好再传递给初始化函数。
注释:oversampling指的是在对模拟信号进行采样的时候,采样频率比被采样信号的最大频率成分的两倍要高,即满足奈奎斯特采样定理(fs>=fmax)。
在成功初始化UART模块前,这个函数将完成初始化该模块,单UART模块仍然是关闭的,必须使用函数EUSCI_A_UART_enable()使能启动。对于计算clockPrescalar,firstModReg,secondModReg和overSampling请使用下面链接:
http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSP430BaudRateConverter/index.html
根据网页提供的工具可以方便的计算出初始化用的参数。如下图所示。
1.jpg (59.44 KB, 下载次数: 0)
下载附件 保存到相册
参数
baseAddress
是EUSCI_A_UART模块的基地址
mask
param是初始化结构体的指针。
该函数修改寄存器UCAxCTL0的UCPEN,UCPAR,UCMSB,UC7BIT,UCSPB,UCMODEx和UCSYNC位。
返回值 STATUS_SUCCESS 或 STATUS_FAIL。
注释:如果初始化成功了,返回STATUS_SUCCESS;如果初始化写入失败了,返回STATUS_FAIL。
uint8 t EUSCI_A_UART_queryStatusFlags ( uint16 t baseAddress, uint8 t mask )
获取当前UART状态标志。
该函数返回UART模块作为参数传送的标志位的状态。
注释:多次提到传送标志位的概念,意思就是,该函数中作为参数传送过去的标志位对应的当前状态将会作为返回值返回。
参数baseAddress
是EUSCI_A_UART模块的基地址
mask
是将被返回的中断标志位状态掩码。
EUSCI_A_UART_LISTEN_ENABLE
EUSCI_A_UART_FRAMING_ERROR
EUSCI_A_UART_OVERRUN_ERROR
EUSCI_A_UART_BREAK_DETECT
EUSCI_A_UART_ADDRESS_RECEIVED
EUSCI_A_UART_IDLELINE
EUSCI_A_UART_BUSY该函数修改寄存器UCAxSTAT的位。
返回值:下面量的逻辑或。EUSCI_A_UART_LISTEN_ENABLE
EUSCI_A_UART_FRAMING_ERROR
EUSCI_A_UART_OVERRUN_ERROR
EUSCI_A_UART_BREAK_DETECT
EUSCI_A_UART_ADDRESS_RECEIVED
EUSCI_A_UART_IDLELINE
EUSCI_A_UART_BUSYuint8_t EUSCI_A_UART_receiveData ( uint16_t baseAddress )
接收已经发送到UART模块的一个字节。该函数从UART接收数据寄存器读取一个字节数据。
参数baseAddress
是EUSCI_A_UART模块的基地址
该函数修改寄存器UCAxRXBUF。
返回值:返回从UART模块收到的字节,强制转换为uint8_t。
注释:函数的类型就是返回值的类型,函数内部返回值必须以函数类型返回。
void EUSCI_A_UART_resetDormant ( uint16_t baseAddress )
从休眠模式重启UART模块。不休眠,所有接收到字符就置位UCRXIFG。
参数baseAddress
是EUSCI_A_UART模块的基地址
该函数修改寄存器UCAxCTL1的UCDORM位。
返回值:无
void EUSCI_A_UART_selectDeglitchTime ( uint16 t baseAddress, uint16 t deglitchTime )
设置抗尖峰脉冲时间。
参数baseAddress
是EUSCI_A_UART模块的基地址
deglitchTime
抗尖峰脉冲时间可选的值有:
EUSCI_A_UART_DEGLITCH_TIME_2ns
EUSCI_A_UART_DEGLITCH_TIME_50ns
EUSCI_A_UART_DEGLITCH_TIME_100ns
EUSCI_A_UART_DEGLITCH_TIME_200ns返回值:无
void EUSCI_A_UART_setDormant ( uint16_t baseAddress )
设置UART在休眠模式。在空闲线(串口线路闲置状态)或UCRXIFG置位前。
在UART自动波特率检测模式,只有断点和同步字段组合才可置位UCRXIFG(在这种模式下,触发中断的条件)。
参数baseAddress
EUSCI_A_UART模块的基地址
该函数修改寄存器UCAxCTL1。
返回值:无
void EUSCI_A_UART_transmitAddress ( uint16_t baseAddress, uint8_t transmitAddress )
根据选择的多处理器模式,发送要被发送的标记为地址的下一个字节。
参数baseAddress
EUSCI_A_UART模块的基地址
transmitAddress
被发送的下一个字节
该函数修改寄存器UCAxTXBUF和UCAxCTL1。
返回值:无
void EUSCI_A_UART_transmitBreak ( uint16_t baseAddress )
传输中断(停止,暂停,间断)。
传输中断(停止)作为下一个写入发送缓冲器。在UART的自动波特率检测模式下,
EUSCI_A_UART_AUTOMATICBAUDRATE_SYNC(0x55) 必须被写进
UCAxTXBUF来生成所需的中断/同步字段。否则,默认同步(0x00)必须写入传输缓冲区。另外确保模块为发送下一个数据做好准备。
参数baseAddress
是EUSCI_A_UART模块的基地址
该函数修改寄存器UCAxTXBUF和UCAxcTL1。
返回值:无
void EUSCI_A_UART_transmitData ( uint16_t baseAddress, uint8_t transmitData )
从UART模块发送一个字节。
该函数放置提供的数据在UART发送数据寄存器里,并开始发送。
参数baseAddress
是EUSCI_A_UART模块的基地址
transmitData
从UART模块将要被发送出去的数据
该函数修改寄存器UCAxTXBUF。
返回:无。
21ic 电子网:
4.3 例程
例程将展示怎样使用EUSCI_A_UART API 来初始化EUSCI_A_UART并开始发送字符。
// 使用SMCLK频率为16384000Hz配置UART模块波特率为115200
// 可以在以下网址计算器计算出配置参数:// http://software-dl.ti.com/msp430/msp430 public sw/mcu/msp430/MSP430BaudRateConverter/index.htmlEUSCI_A_UART_ initParam uartConfig = {EUSCI_A_UART_ CLOCKSOURCE SMCLK, // SMCLK Clock Source8, // BRDIV = 814, // UCxBRF = 1434, // UCxBRS = 34EUSCI_A_UART_ NO PARITY, // No ParityEUSCI_A_UART_ MSB FIRST, // MSB FirstEUSCI_A_UART_ ONE STOP BIT, // One stop bitEUSCI_A_UART_ MODE, // UART modeEUSCI_A_UART_ OVERSAMPLING_BAUDRATE_GENERATION // Oversampling Baudrate};WDT_hold(WDT_BASE);// 设置DCO使用内部电阻,DCO将被配置在16.384MHz.
CS_setupDCO(CS_INTERNAL RESISTOR);// SMCLK设置与DCO相同的速度。SMCLK = 16.384MHzCS_initClockSignal(CS_SMCLK, CS_CLOCK DIVIDER_1);// 设置P1.2和P1.3管脚作为UART管脚。P1.4 管脚作为LED输出GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P1, GPIO_PIN2 | GPIO_PIN3, GPIO_PRIMARY_MODULE_FUNCTION);GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN4);GPIO_setOutputLowOnPin(GPIO_PORT_P1, GPIO_PIN4);// 配置和使能UART外设
EUSCI_A_UART_ init(EUSCI_A0_BASE, &uartConfig);EUSCI_A_UART_ enable(EUSCI_A0_BASE);EUSCI_A_UART_ enableInterrupt(EUSCI_A0_BASE, EUSCI_A_UART_ RECEIVE_INTERRUPT);while(1) {EUSCI_A_UART_ transmitData(EUSCI_A0_BASE, TXData);//进入休眠并等待退出LPM__bis_SR_register(LPM0_bits | GIE);}
21ic 电子网:
4.4 详解
UART主要是通过一个结构体来初始化的。
从eusci_a_uart.h我们可以看到该结构体为
typedef struct EUSCI_A_UART_initParam
{
uint8_t selectClockSource;
uint16_t clockPrescalar;
uint8_t firstModReg;
uint8_t secondModReg;
uint8_t parity;
uint16_t msborLsbFirst;
uint16_t numberofStopBits;
uint16_t uartMode;
uint8_t overSampling;
} EUSCI_A_UART_initParam;
根据库函数头文件的介绍,第一个时钟源选择变量,一共有两个值可以选择。分别是使用SMCLK和ACLK作为UART时钟源。
第二个,第三个,第四个,我们可以不用管,直接利用网页的工具进行计算,如果想知道怎么手工计算,请查看技术手册。
第五个parity是奇偶校验,一共三个选项,无奇偶校验、奇校验和偶校验。默认情况是无奇偶校验。
第六个是msborLsbFirs,高位优先或低位优先,默认低位优先。
第七个是numberofStopBits,停止位数量,可以选择1个停止位或2个选择位。默认1个停止位。
第八个是uartMode,共4个模式,默认是EUSCI_A_UART_MODE模式,还可以选择EUSCI_A_UART_IDLE_LINE_MULTI_PROCESSOR_MODE(空闲线多处理器模式)、 EUSCI_A_UART_ADDRESS_BIT_MULTI_PROCESSOR_MODE(地址位多处理器模式)和EUSCI_A_UART_AUTOMATIC_BAUDRATE_DETECTION_MODE(自动波特率检测模式)。
第九个是overSampling,有两个值可以选择,分别用来指示使用过采样波特率发生器还是使用低频率波特率发生器。分别是EUSCI_A_UART_OVERSAMPLING_BAUDRATE_GENERATION和EUSCI_A_UART_LOW_FREQUENCY_BAUDRATE_GENERATION。
详情参见技术手册相关章节。并在本帖后回复讨论。
关于本章节函数的参数变量的选择,详情见eusci_a_uart.h。
21ic 电子网:
本章节的作业:
根据例程,编写串口发送和接收程序,发送LED_ON字符串点亮接收MCU的LED,发送LED_OFF,关闭接收MCU的LED,发送LED_TEST字符串,返回当前的LED状态。
Susan Yang:
回复 21ic 电子网:
好详细啊,谢谢分享!
21ic 电子网:
21ic网友针对教程的学习讨论异常热烈,现将部分精彩问答及分享内容整理呈现:
1、
A提问:
DCO旁路模式什么概念?
B回复:
DCO 全称是Digitally Controlled Oscillator(DCO),DCO一共有两种模式,内部部电阻模式(Internal Resistor Mode)和外部电阻模式(External Resistor Mode),通过 CSCTL0寄存器的DCOR位选择。注意旁路模式是通过CSCTL0寄存器的DCOBYP位置1选择的。通过datasheet了解到,外部电阻模式提供更高的时钟精度在绝对容度和温度漂移方面,原文为This mode offers higher clock accuracy in terms of absolute tolerance and temperature drift compared to internal resistor mode
21ic 电子网:
2
2、
将printf函数移植到UART程序中,很好用的#if 1#pragma import(__use_no_semihosting) struct __FILE { int handle; }; FILE __stdout; _sys_exit(int x) { x = x; } int fputc(int ch, FILE *f){ while((UCAxIFG&0X08)==0);//bit3 UCTXCPTIFG,传输完成标志 UCAxTXBUF = (u8) ch; return ch;}#endif
21ic 电子网:
3、
钟模块有四个系统时钟信号可以使用:
ACLK:辅助时钟。当运行在DCO时,ACLK是固定在32kHz。如果设备是设置在DCO旁路模式,ACLK运行在旁路时钟频率的1/512。MCLK:主时钟。MCLK可以被1,2,4,8或16分频。MCLK通常被CPU和系统使用。SMCLK:子系统主时钟。SMCLK可以被1,2,4,8或16分频。SMCLK可以被各个外围模块通过软件选择使用。SD24CLK:SD24时钟提供一个1.024MHz固定频率的时钟给Sigma-Delta ADC(SD24)。 该时钟只为SD24的请求所使用。如果SD24功能必须在DCO旁路模式下工作,那么外部时钟频率必须是16.384Mhz。430单片机时钟模块正是因为有这些时钟源配合不同的低功耗模式保证超低功耗。这个系列ACLK时钟32k的,记得G系列好像是12k的。去年做了一种产品因为功耗要求很低,5uA,使用三年,就是选用了G系列的MCU,MCU大部分时间处于休眠状态LPM3,定时器工作在ACLK时钟下。。。
21ic 电子网:
4、
A提问:
1、内部振荡器能不能屏蔽,外接有源晶振2、内置空闲线和地址位通信协议的多处理器系统,这个是怎么应用的,有没有案例分析下;这个支不支持串口接受空闲中断
B回复:
先回答第一个问题:可以根据需要选择使用内部振荡器或者外部晶振。
第二个问题,我翻了翻手册,也没看到空闲中断,可能是没有这个中断。
TI中文支持网




