背景帶有HAL庫的STM32F4-Discovery(STM32F429ZIT6)上的RS232(UART)?
這裏是我的一些背景,這樣你的傢伙可以知道我有或沒有相關知識。我完全是這種嵌入式系統的新手。我對電子產品並不瞭解,我是一個純粹的軟件傢伙。
我唯一的嵌入式系統的經驗是樹莓派,這是從STM32F4探索完全不同。
我可以實現通過使用樹莓派,連接到一臺PC用USB轉RS232適配器的電壓轉換器IC標準的Linux C庫是一個UART讀/寫程序。
我的設備和開發環境
- 的STM32F429I-DISCO板與STM32F429ZIT6 MCU
- 一個USB轉RS232電纜和一個電壓轉換器IC,其作品相當不錯的樹莓派。
- 的Keil uVision 5 IDE。
我想達成什麼
我想實現在STM32F429發現板,可以發送/從PC接收消息/編程。 (例如,發送一個字符串PC。當收到來自PC的字符串,點亮了船上的LED)
我已經做對現在
現在我已經設置我的Keil uVision IDE ,並且可以編譯/運行閃爍的LED示例,我也可以編輯該示例以按照我希望的方式控制LED。 (例如,當用戶按鈕被按下時打開LED,並且當按鈕被釋放時將其關閉)
因此LED部分已經完成了,缺少一部分它如何使用RS232電纜與STM32F4探索板進行通信。
我的問題
首先,我想知道如果我理解的PIN定義該電路板的正確。根據這一datasheet,我應該在DB9上DB9連接TX引腳PD2(UART5_RX),在DB9到PC12(UART5_TX),在DB9至3.3V的VCC引腳RX引腳和GND到GND。這個連接是否正確?
是否有關於如何在新的HAL庫,來自Keil公司uVision的最新版本,使用UART示例代碼?我在網上搜索,但大部分示例代碼或tutorial使用的是被稱爲
RCC_AHB1PeriphClockCmd
功能這似乎不是在新的HAL庫,來自Keil公司uVision存在。
更新
我的USB轉串口適配器
067b:2303 Prolific Technology, Inc. PL2303 Serial Port
與電平轉換器IC連接。看起來是這樣的:當連接到樹莓派,我是繼此instruction,所以對IC的VCC/GND連接到3.3V/GND上樹莓派,我如果這是需要不知道或不。由於「HAL」庫,我的意思是這個
stm32f4xx_hal_usart.c
文件,根據許可證聲明中的評論,它似乎來自意法半導體公司。儘管這個文件中有一些指令,但我仍然很難找出如何使用這個驅動程序。例如,我無法區分Enable USARTx interface clock
和Enable the clock for USART GPIOs
之間的區別,我不知道如何實現這些功能。所以如果有一個示例代碼,這將是一個很大的幫助,因爲我可以將它與這些說明進行比較。
你可以採取裸機路線,通常就像試圖讓一些庫工作一樣快捷簡單https://github.com/dwelch67/stm32_samples我沒有這個確切的板子,但是stm32外圍設備比不同越過芯片。 –
爲什麼涉及5V?根本不需要,也不需要樹莓派。你有什麼樣的USB電纜你有RS232電壓水平會破壞這些芯片,你永遠不能使用RS232。或者你是否錯誤地使用了RS232術語來暗示串行協議而不是電壓標準。我使用基於usb ftdi的突破和電纜,提供3.3v uart接口,只需要真正連接rx和tx,真的希望使用同一臺計算機來避免浮動接地,而且您不需要連接接地。如果有什麼rx,tx和地面,如果你覺得需要。 –
如果你想使用他們的庫,然後聯繫st技術支持和/或通過代碼來查找並找出它。 –