CC2640本身自带只有1个串口,但由于要和两个芯片进行通信,所以在考虑用SCS模拟的串口。看了官方的uart_emulator例程,是将接收到的数据直接用一个函数打印出来了。具体代码如下:
void main(void) {
// Enable power domains
PRCMPowerDomainOn(PRCM_DOMAIN_PERIPH);
while (PRCMPowerDomainStatus(PRCM_DOMAIN_PERIPH) != PRCM_DOMAIN_POWER_ON);
// Enable peripheral clocks
PRCMPeripheralRunEnable(PRCM_PERIPH_GPIO);
PRCMLoadSet();
while (!PRCMLoadGet());
// Prevent AUX from powering down
scifOsalEnableAuxDomainAccess();
// Initialize and start the Sensor Controller
scifInit(&scifDriverSetup);
// Start the UART emulator
scifExecuteTasksOnceNbl(BV(SCIF_UART_EMULATOR_TASK_ID));
// Enable baud rate generation
scifUartSetBaudRate(57600);
// Enable RX
scifUartSetRxTimeout(20);
scifUartSetRxEnableReqIdleCount(1);
scifUartRxEnable(1);
// Enable events
scifUartSetEventMask(0xF);
// Main loop
while (1) {
// Loop back any received characters
while (scifUartGetRxFifoCount()) {
scifUartTxPutChar((char) scifUartRxGetChar());
}
}
} // main
我想知道的是,这个模拟串口能否和一般的串口一样,进行数据的接收解析再发送。由于这里的函数都是官方提供的,我不清楚官方是否有提供相关的函数。
Susan Yang:
关于模拟串口的使用,建议您先打开SCS并点击HELP,有模拟串口使用的相关说明
da qin zheng sheng:
scs串口功能以api方式对用户开放 ,发送比较方便,可以工作在低功耗模式。
Viki Shi:
模拟串口可以用作一般串口通信