• 正文
    • 一、新建工程
    • 二、引腳配置
    • 三、外設(shè)配置
    • 四、部分代碼展示
    • 五、注意事項
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

快來圍觀:S32K344 VCU項目開發(fā)隨筆~

2024/07/30
2699
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

一、新建工程

可參考往期推文:S32K344 VCU實戰(zhàn)項目之帶你入門篇

二、引腳配置

此實例選擇串口13進(jìn)行配置:

三、外設(shè)配置

添加外設(shè):

配置串口信息1:

配置串口信息2(回調(diào)函數(shù)):

中斷外設(shè)配置:

配置完畢后更新代碼。

四、部分代碼展示

/** * @brief UART_13回調(diào)函數(shù) *  * 該函數(shù)作為LPUART_13的中斷服務(wù)程序使用,根據(jù)接收到的事件類型執(zhí)行相應(yīng)的處理邏輯。 * 主要功能包括處理接收緩沖區(qū)滿和發(fā)送緩沖區(qū)空的事件,以及相應(yīng)的數(shù)據(jù)傳輸邏輯。 *  * @param HwInstance 硬件實例標(biāo)識,此處忽略 * @param Event 事件類型,指示當(dāng)前中斷的原因 * @param UserData 用戶數(shù)據(jù),此處忽略 */void UART_13_Callback(const uint8 HwInstance, const Lpuart_Uart_Ip_EventType Event, void *UserData){    (void)HwInstance; // 避免未使用參數(shù)編譯警告    (void)UserData; // 避免未使用參數(shù)編譯警告
    switch(Event)    {        case LPUART_UART_IP_EVENT_RX_FULL: // 接收緩沖區(qū)滿事件        {            // 檢查是否收到換行符或接收緩沖區(qū)即將溢出            if ((rxBuffer[rxBufferIdx] != 'n') && (rxBufferIdx != (BUFFER_SIZE - 2U)))            {                // 繼續(xù)接收下一個字符                rxBufferIdx++;                Lpuart_Uart_Ip_SetRxBuffer(LPUART_UART_IP_INSTANCE_USING_13,&rxBuffer[rxBufferIdx],1U);            }            else            {                // 將接收緩沖區(qū)的數(shù)據(jù)復(fù)制到發(fā)送緩沖區(qū),并初始化接收緩沖區(qū)                memcpy(txBuffer,rxBuffer,rxBufferIdx+1);                Lpuart_Uart_Ip_AsyncSend(LPUART_UART_IP_INSTANCE_USING_13,txBuffer,1);                txBufferIdx++;                memset(rxBuffer,0,rxBufferIdx+1);                test = rxBufferIdx + 1;                rxBufferIdx = 0;                Lpuart_Uart_Ip_SetRxBuffer(LPUART_UART_IP_INSTANCE_USING_13,&rxBuffer[rxBufferIdx],1U);            };        }break;        case LPUART_UART_IP_EVENT_TX_EMPTY: // 發(fā)送緩沖區(qū)空事件        {            // 檢查是否所有數(shù)據(jù)都已發(fā)送            if(txBufferIdx > test - 1)            {                // 重置發(fā)送緩沖區(qū)索引                txBufferIdx = 0;            }            else            {                // 繼續(xù)發(fā)送下一個字符                Lpuart_Uart_Ip_SetTxBuffer(LPUART_UART_IP_INSTANCE_USING_13,&txBuffer[txBufferIdx++],1U);            }        }break;        case LPUART_UART_IP_EVENT_END_TRANSFER: // 傳輸結(jié)束事件        {            // 此處可添加傳輸結(jié)束后的處理邏輯        }break;        case LPUART_UART_IP_EVENT_ERROR: // 錯誤事件        {            // 此處可添加錯誤處理邏輯        }break;        default:        {            // 處理未知事件        }break;    }}

五、注意事項

此處注意前文提到的一個回調(diào)的配置,應(yīng)調(diào)用此處的回調(diào)函數(shù)。

歡迎轉(zhuǎn)發(fā)分享給需要的好友!

微信號:zls_it

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
74HC245D,653 1 Nexperia 74HC245; 74HCT245 - Octal bus transceiver; 3-state@en-us SOP 20-Pin

ECAD模型

下載ECAD模型
$0.61 查看
FTLF8524P2BNV 1 Finisar Corporation Transceiver, 830nm Min, 860nm Max, 4250Mbps(Tx), 4250Mbps(Rx), LC Connector, Panel Mount, ROHS COMPLIANT PACKAGE
$301.6 查看
AQV252GAZ 1 Panasonic Electronic Components Solid State Relay,
$6.55 查看

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

微信公眾號《朱老師IT充電站》主筆。先后從事電子工程師、單片機軟件工程師、嵌入式linux軟件工程師、物聯(lián)網(wǎng)軟件工程師、架構(gòu)師等工作,教育品牌<朱老師物聯(lián)網(wǎng)大講堂>創(chuàng)始人,暢銷書作者。擅長U-Boot、linux kernel等嵌入式底層和系統(tǒng)層開發(fā)、架構(gòu)設(shè)計。擅長匯編、C/C++、Java、C#等常用開發(fā)語言。被授予:IBM技術(shù)專家、華為云享專家、51CTO學(xué)院金牌講師等稱號。