近期使用STM32驅(qū)動MAX3485進(jìn)行485通信,發(fā)現(xiàn)STM32F103C8并不自帶硬件485首發(fā)功能,需要軟件上控制IO高低來驅(qū)動MAX3485進(jìn)行485接收、485發(fā)送。
根據(jù)MAX3485手冊可得,進(jìn)行485發(fā)送時(shí)給相應(yīng)引腳高電平。其余時(shí)間為低電平進(jìn)行485接收。因此需要找到串口DMA發(fā)送完成的回調(diào)函數(shù),在發(fā)送完成后將引腳拉低。
在stm32f1xx_hal_uart.c中
/** @defgroup UART_Exported_Functions_Group2 IO operation functions
* @brief UART Transmit and Receive functions
*
@verbatim
==============================================================================
##### IO operation functions #####
==============================================================================
[..]
This subsection provides a set of functions allowing to manage the UART asynchronous
and Half duplex data transfers.
(#) There are two modes of transfer:
(++) Blocking mode: The communication is performed in polling mode.
The HAL status of all data processing is returned by the same function
after finishing transfer.
(++) Non blocking mode: The communication is performed using Interrupts
or DMA, these APIs return the HAL status.
The end of the data processing will be indicated through the
dedicated UART IRQ when using Interrupt mode or the DMA IRQ when
using DMA mode.
The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks
will be executed respectively at the end of the transmit or receive process.
The HAL_UART_ErrorCallback() user callback will be executed when
a communication error is detected.
(#) Blocking mode APIs are:
(++) HAL_UART_Transmit()
(++) HAL_UART_Receive()
(#) Non Blocking mode APIs with Interrupt are:
(++) HAL_UART_Transmit_IT()
(++) HAL_UART_Receive_IT()
(++) HAL_UART_IRQHandler()
(#) Non Blocking mode functions with DMA are:
(++) HAL_UART_Transmit_DMA()
(++) HAL_UART_Receive_DMA()
(++) HAL_UART_DMAPause()
(++) HAL_UART_DMAResume()
(++) HAL_UART_DMAStop()
(#) A set of Transfer Complete Callbacks are provided in non blocking mode:
(++) HAL_UART_TxHalfCpltCallback()
(++) HAL_UART_TxCpltCallback()
(++) HAL_UART_RxHalfCpltCallback()
(++) HAL_UART_RxCpltCallback()
(++) HAL_UART_ErrorCallback()
[..]
(@) In the Half duplex communication, it is forbidden to run the transmit
and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX
can't be useful.
可以看到 HAL_UART_TxCpltCallback() 的相關(guān)解釋,發(fā)現(xiàn)其位發(fā)送完成的回調(diào)函數(shù)。
因此定義該函數(shù)后自行添加相關(guān)的代碼即可完成。
上一篇:基于HAL庫處理UART中斷并接收串口傳入的數(shù)據(jù)
下一篇:關(guān)于烈火四軸遙控器串口上傳分析
推薦閱讀
史海拾趣
1978年,CONEC在利普施塔特創(chuàng)立,標(biāo)志著公司電子業(yè)務(wù)的起點(diǎn)。創(chuàng)立初期,公司可能面臨著資金、技術(shù)和市場等多方面的挑戰(zhàn)。然而,憑借著對電子行業(yè)的深刻理解和堅(jiān)定的創(chuàng)業(yè)決心,CONEC逐漸在市場中站穩(wěn)腳跟。1980年,DIN EN 60603系列產(chǎn)品的成功上線生產(chǎn),為公司贏得了初步的聲譽(yù)和市場認(rèn)可,為后續(xù)的發(fā)展奠定了堅(jiān)實(shí)基礎(chǔ)。
隨著電子技術(shù)的快速發(fā)展,廣東奧科公司意識到只有不斷創(chuàng)新才能在市場中立足。公司加大了對研發(fā)的投入,引進(jìn)了一批高素質(zhì)的研發(fā)人才,并建立了完善的研發(fā)體系。經(jīng)過多次嘗試和實(shí)驗(yàn),廣東奧科公司成功開發(fā)出了多款具有創(chuàng)新性和競爭力的電子產(chǎn)品,這些產(chǎn)品不僅性能卓越,而且設(shè)計(jì)獨(dú)特,深受消費(fèi)者的喜愛。這些技術(shù)突破和產(chǎn)品創(chuàng)新為廣東奧科公司贏得了市場的認(rèn)可,也推動了公司的快速發(fā)展。
被收購后,Bridgelux并沒有停止創(chuàng)新的步伐。公司繼續(xù)加大研發(fā)投入,推出了一系列具有創(chuàng)新性的LED照明產(chǎn)品。同時(shí),公司還積極拓展市場,與全球各地的客戶建立了廣泛的合作關(guān)系。通過不斷提升產(chǎn)品質(zhì)量和服務(wù)水平,Bridgelux逐漸在LED照明領(lǐng)域樹立了良好的口碑,成為了行業(yè)的佼佼者。
這五個故事展示了Bridgelux公司在電子行業(yè)中的發(fā)展歷程和取得的成就。從創(chuàng)立初期的艱難起步,到技術(shù)突破與創(chuàng)新,再到與Cree公司的專利糾紛與和解,以及被CEC和重慶臨空收購后的持續(xù)發(fā)展與創(chuàng)新,Bridgelux始終保持著對技術(shù)的追求和對市場的敏銳洞察。正是這些努力和堅(jiān)持,使得Bridgelux在競爭激烈的電子行業(yè)中脫穎而出,成為了LED照明領(lǐng)域的領(lǐng)軍企業(yè)。
Cristek Interconnects Inc公司自成立以來,一直致力于電子連接器技術(shù)的研發(fā)與創(chuàng)新。在早期的發(fā)展階段,公司憑借其出色的研發(fā)團(tuán)隊(duì),成功開發(fā)出一種新型的高性能連接器,這種連接器具有更高的導(dǎo)電性和更低的信號衰減,極大地提高了電子設(shè)備的性能。這一技術(shù)突破為公司贏得了市場的廣泛認(rèn)可,也奠定了Cristek在電子行業(yè)中的重要地位。
Aearo Technologies公司創(chuàng)立于四十多年前,從一開始就致力于能量控制技術(shù)的研發(fā)。公司憑借創(chuàng)始團(tuán)隊(duì)在聲學(xué)、材料科學(xué)和工程領(lǐng)域的深厚背景,成功開發(fā)出了一系列高性能的噪聲和振動控制材料。這些創(chuàng)新材料為公司在電子行業(yè)中樹立了良好的聲譽(yù),也為其后續(xù)發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
Aearo Technologies公司創(chuàng)立于四十多年前,從一開始就致力于能量控制技術(shù)的研發(fā)。公司憑借創(chuàng)始團(tuán)隊(duì)在聲學(xué)、材料科學(xué)和工程領(lǐng)域的深厚背景,成功開發(fā)出了一系列高性能的噪聲和振動控制材料。這些創(chuàng)新材料為公司在電子行業(yè)中樹立了良好的聲譽(yù),也為其后續(xù)發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
【藏書閣】32 個單片機(jī)類畢業(yè)設(shè)計(jì) 資料雖好,僅供參考,還是要自己做啊 16×16點(diǎn)陣(滾動顯示)論文+程序.rar cdma通信系統(tǒng)中的接入信道部分進(jìn)行仿真與分析.rar LED顯示屏動態(tài)顯示和遠(yuǎn)程監(jiān)控的實(shí)現(xiàn).rar MCS-51單片機(jī)溫度控制系統(tǒng).rar USB接口設(shè)計(jì).rar 畢業(yè)設(shè)計(jì)(論文)OFDM通信 ...… 查看全部問答∨ |
|
Recommended Power Solutions for the TMS320x28xx DSPs Recommended Power Solutions for the TMS320x28xx DSPs… 查看全部問答∨ |
關(guān)于操作系統(tǒng)枚舉usb設(shè)備的過程 請問各位大俠,在windows下系統(tǒng)枚舉usb設(shè)備的過程是怎樣的,是通過什么方式來識別是usb1.1還是usb2.0的,如果我的usb設(shè)備是2.0,接在2.0的usb接口上,我能通過什么方式讓其只工作于1.1而不是2.0?… 查看全部問答∨ |
lpc1114上電啟動時(shí)功耗電流究竟有多少?我的系統(tǒng)上電時(shí)發(fā)現(xiàn)電流超過20ma,沒有任何外圍器件,迷惑中!… 查看全部問答∨ |
請問在 MDK 下如何嵌入 匯編程序? 參考幫助文件 __asm { .... ..... } 提示錯誤:....sourcecommon.c(458): error: #1113: Inline assembler not permitte ...… 查看全部問答∨ |
求助:MSP430F2274的OA作為差分是如何設(shè)置的 OA的控制器OAxCTL0中OA輸出的選擇是OAADCx,占用第1、0位,四種輸出途徑,可是其頭文件中只定義了OAADC0和OAADC1分別是輸出到ADC的輸入通道0和1,請高手指點(diǎn),如果我想將0AADC0定義為00,用C該如何設(shè)置???謝謝!… 查看全部問答∨ |
用zigbee遠(yuǎn)程控制led,哪位大俠做過,請給小弟指點(diǎn)一二,我在網(wǎng)上搜了很多,好像還得必須用到gprs,還有用2530和MRF24J40哪個芯片比較好,謝謝… 查看全部問答∨ |
MSP430G2202 P1.4是P1.4/TA0.2/SMCLK/A4/VREF+/VEREF+/TCK 復(fù)用引腳,我要輸出兩路PWM, P1.2沒問題,到了P1.4,糾結(jié)了,TACCR2,TACCTL2都設(shè)了,結(jié)果輸出的波形一看,是SMCLK的,不是PWM輸出,很糾結(jié),不知道其他芯片有這問題么,怎么 ...… 查看全部問答∨ |
Hercules推出這么快真的沒有料到,優(yōu)勢前面介紹的已經(jīng)很多了,目前擔(dān)心兩個問題: 1、價(jià)格問題,集成大容量FLASH和RAM,外設(shè)也比較豐富,很多外設(shè)帶冗余通道,無疑價(jià)格會大大提高,只是針對特種行業(yè),使用面肯定會有限制,如果價(jià)格有優(yōu)勢,無疑M3M ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 基于51系列單片機(jī)的智能照明控制系統(tǒng)設(shè)計(jì)方案
- 基于STM32的四旋翼飛行器控制系統(tǒng)
- 單片機(jī)應(yīng)用編程技巧解析
- 基于89C52的教室智能節(jié)能照明系統(tǒng)設(shè)計(jì)
- 一種新型的雨量光照傳感器的設(shè)計(jì)
- 智能護(hù)眼臺燈設(shè)計(jì)
- 蓄電池高能脈沖充電系統(tǒng)設(shè)計(jì)
- 基于51單片機(jī)定時(shí)器的電子時(shí)鐘設(shè)計(jì)方案
- 瑞薩電子推出面向單電機(jī)應(yīng)用優(yōu)化的卓越MCU, 涵蓋電動工具、家用電器等廣泛應(yīng)用場景
- 動力電池“三國殺”:中企提前鎖定勝局,日韓廠商集體失守
- 研究人員開發(fā)出人工智能雷達(dá)技術(shù) 可用于高分辨率3D城市制圖
- 上半年動力電池TOP15:寧德時(shí)代和比亞迪裝車近200GWh 兩家公司新上榜
- 半年砸下數(shù)千億元!“并購”浪潮下,汽車芯片大戰(zhàn)再起風(fēng)云
- 奇瑞人形機(jī)器人9月開售并將面向個人用戶,機(jī)器人時(shí)代該來了嗎?
- 華為李文廣:華為智能駕駛規(guī)劃曝光,加速追趕特斯拉
- 功能迭代和功能安全的矛盾及車端應(yīng)用層-下
- 功能迭代和功能安全的矛盾及車端應(yīng)用層-中
- 功能迭代和功能安全的矛盾及車端應(yīng)用層-上
- 車云一體其他層面的架構(gòu)設(shè)計(jì)借鑒-下
- 詳述項(xiàng)目申請,可獲 TI Stellaris開發(fā)板!
- 泰克 MSO6B 探索營:技術(shù)指標(biāo)大挑戰(zhàn),闖關(guān)贏好禮
- 駿龍科技攜手ADI有獎直播:隔離系統(tǒng)設(shè)計(jì)的隱藏成本
- 幫助他人,成就自己:EEWORLD月度問答榜(第4期)
- 【MPS有獎活動】分享【PCB設(shè)計(jì)、焊接】問題或經(jīng)驗(yàn)
- 免費(fèi)申請|Maxim 高性能模擬工具包(內(nèi)含78個器件)
- 【干貨視頻】走進(jìn)TE智能制造工廠,追蹤連接器綠色生產(chǎn)全過程
- TI有獎直播|精密 ADC 在變送器中的應(yīng)用
- 【EEWORLD大學(xué)堂】玩轉(zhuǎn)TI 易電源
- 淺談 STM32 硬件I2C的使用 (中斷方式 無DMA 無最高優(yōu)先級)
- STM32F103C8T6最小系統(tǒng)地的構(gòu)建(3)_時(shí)鐘源電路-晶振
- 建行發(fā)布5G無人銀行,鳥瞰智能提供虛擬機(jī)器人支持
- 機(jī)器視覺:智能制造的“幕后推手”
- 機(jī)器人行業(yè)一周回顧(7月6-12日)
- 為什么艾默生同意并購這家只有150人的公司?
- 密歇根大學(xué)研發(fā)新設(shè)備有望治愈耳鳴
- 燃料電池大角逐 哪個城市優(yōu)先勝出?
- 汽車電動機(jī)通解:它能秒殺傳統(tǒng)發(fā)動機(jī)嗎?
- ACC自適應(yīng)巡航與主動剎車究竟有哪些區(qū)別?