91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在STM32F4 ARM MCU和Python之間建立USART通信

454398 ? 來源:wv ? 2019-10-16 11:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:軟件和硬件要求

在硬件方面,您需要:

STM32F4發(fā)現板(或其他任何STM32板)

USB轉TTL轉換器

在軟件方面:

STM32CubeMX

Keil uVision5

已安裝串行庫的Python

步驟2:STM32CubeMX配置

首先讓我們了解我們想要做什么。我們希望通過USART從Python將數據傳輸到板上,并檢查是否有正確的數據并切換LED。因此,我們需要啟用USART和Led。

從“連接性”選項卡中啟用USART2。

將模式更改為異步

波特率更改為9600 Bits/s

無奇偶校驗的字長為8位

無奇偶校驗位

DMA設置中以特殊模式添加USART2_RX

從NVIC設置中啟用USART2全局中斷

然后生成代碼:)

通過單擊PD12啟用LED

步驟3:Keil軟件開發(fā)

#include

#include

在字符串操作和定義布爾變量時將需要這些庫。

/* USER CODE BEGIN 2 */

HAL_UART_Receive_DMA(&huart2, (uint8_t *) data_buffer, 1);

/* USER CODE END 2 */

此處,UART

/* USER CODE BEGIN 4 */

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)

{

/* Prevent unused argument(s) compilation warning */

UNUSED(huart);

/* NOTE: This function should not be modified, when the callback is needed,

the HAL_UART_RxCpltCallback could be implemented in the user file

*/

if(data_buffer[0] != ‘ ’){

data_full[index_] = data_buffer[0];

index_++;

}else{

index_ = 0;

finished = 1;

}

//HAL_UART_Transmit(&huart2, data_buffer, 1, 10);

}

/* USER CODE END 4 */

這是ISR,當我們得到一個字節(jié)的字符時,它被激活。所以。我們得到該字節(jié)并將其寫入包含完整接收數據的data_full,直到得到‘\ n’。當我們得到‘\ n’時,我們使完成標志1并在while循環(huán)中:

while (1)

{

/* USER CODE END WHILE */

if(finished){

if(strcmp(data_full, cmp_) == 0){

HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_12);

}

memset(data_full,‘’,strlen(data_full));

finished = 0;

}else{

__NOP ();

}

/* USER CODE BEGIN 3 */

}

如果完成標志為HIGH,我們將比較完整接收的數據和我們想要的數據的內容,如果它們是等于我們切換領導。之后,我們清除完成標志,等待新數據,并清除data_full數組,以免覆蓋該數組。

步驟4:Python軟件開發(fā)

因此,這里我們要在結尾處發(fā)送帶有‘/n’的數字,因為Keil軟件需要查看它才能知道結尾。

import serial

ser = serial.Serial(‘COM17’) #check that port on your device from Device Manager

ser.write(b‘24 ’)

您應該看到每次您發(fā)送“ 24 \ n”時,LED都會切換。如果您發(fā)送其他任何內容,它都不會影響它。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    147

    文章

    18954

    瀏覽量

    399022
  • USART
    +關注

    關注

    1

    文章

    202

    瀏覽量

    33196
  • python
    +關注

    關注

    57

    文章

    4877

    瀏覽量

    90113
  • STM32F4
    +關注

    關注

    3

    文章

    204

    瀏覽量

    30159
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LAT1171+STM32F745 USART1 Bootloader 失敗原因分析與解決

    使用 STM32F745 進行產品開發(fā)的時候,出現了使用 STM32CubeProgramer 無法通過 USART1 Bootloader 進行程序升級的問題。為了解決客戶的問題,我在 NUCLEO-
    發(fā)表于 01-11 17:33 ?0次下載

    中科芯CKS32F030F4P6 MCU在電池包中的應用方案

    CKS電池包顯示板基于32位低功耗MCU:CKS32F030F4P6設計,內核ARM Cortex-M0+,工作于 48MHz 時鐘頻率, 高速的嵌入式閃存(FLASH 最高可達 32K 字節(jié)
    的頭像 發(fā)表于 11-12 09:44 ?3519次閱讀
    中科芯CKS32<b class='flag-5'>F030F4</b>P6 <b class='flag-5'>MCU</b>在電池包中的應用方案

    SDK資源包bug drv_usart.c不能使用UART9及以上的串口怎么解決?

    問題一: 用Studio生成STM32F4工程,發(fā)現在board.h 配置串口9(BSP_USING_UART9)有問題,觀察drv_usart.c文件發(fā)現沒有串口8以上的代碼。 注:stm32有些
    發(fā)表于 09-25 06:37

    【教程】使用STM32F4進行E22-400T22S編程通信教程

    通過本文帶大家零基礎使用STM32F407VET6單片機進行E22-400T22S模塊編程并進行簡單的通信,當然如果學會了,也可以舉一反三應用于E22、E220、E32所有模塊上。一、STM32環(huán)境
    的頭像 發(fā)表于 08-28 19:32 ?2201次閱讀
    【教程】使用<b class='flag-5'>STM32F4</b>進行E22-400T22S編程<b class='flag-5'>通信</b>教程

    GD32F4xx系列MCU基礎工程資料

    GD32F4xx系列MCU基礎工程創(chuàng)建.
    發(fā)表于 08-04 14:53 ?2次下載

    stm32f4新手求教

    芯片包stm32f4xx_DFP3.0.0只有1.98m大小,芯片包stm32f4xx_DFP2.16.0卻有152m大小,為何差距這么大,我該裝哪個芯片包?
    發(fā)表于 07-09 12:04

    【教程】零基礎!手把手教你使用STM32F4進行E22-400T22S編程通信

    通過本文帶大家零基礎使用STM32F407VET6單片機進行E22-400T22S模塊編程并進行簡單的通信,當然如果學會了,也可以舉一反三應用于E22、E220、E32所有模塊上。一STM32環(huán)境
    的頭像 發(fā)表于 07-03 19:32 ?1545次閱讀
    【教程】零基礎!手把手教你使用<b class='flag-5'>STM32F4</b>進行E22-400T22S編程<b class='flag-5'>通信</b>

    使用studio構建STM32F4工程報錯的原因?

    使用studio 構建STM32F4 工程,什么都沒有動報了以上錯誤.這是為什么 ?
    發(fā)表于 06-26 07:26

    STM32F4標準外設庫資料

    stm32f4xx.h,標準外設庫
    發(fā)表于 06-08 09:49 ?5次下載

    STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊

    電子發(fā)燒友網站提供《STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊.pdf》資料
    發(fā)表于 06-06 17:06 ?17次下載

    Analog Devices Inc. MAX32675C超低功耗Arm? Cortex?-M4F MCU數據手冊

    Analog Devices MAX32675C超低功耗Arm? Cortex?-M4F MCU是高度集成的混合信號微控制器,適用于工業(yè)應用,特別適用于4mA至20mA環(huán)路供電傳感器和
    的頭像 發(fā)表于 06-03 10:04 ?1007次閱讀
    Analog Devices Inc. MAX32675C超低功耗<b class='flag-5'>Arm</b>? Cortex?-M<b class='flag-5'>4F</b> <b class='flag-5'>MCU</b>數據手冊

    零知開源——STM32F4驅動MAX31865實現PT100高精度測溫

    STM32F
    PCB56242069
    發(fā)布于 :2025年05月26日 18:25:17

    STM32學習USART之基礎篇(可下載)

    今天分享 USART 設計前的基礎知識我們先來了解一下有關通信的基本概念:通信:兩個設備之間進行數據交換時,稱這個過程為兩個設備間的通信并行
    發(fā)表于 03-31 15:07 ?4次下載

    STM32F103×8/STM32F103×B MCU手冊

    本文提供了STM32F103x8和STM32F103xB中密度高性能系列微控制器的訂購信息和機械器件特性。有關整個STMicroelectronics STM32F103xx系列的更多信息,請
    發(fā)表于 03-18 16:37 ?0次下載

    使用SPI進行通信,STM32F4做從機,通信時數據異常怎么解決?

    使用SPI進行通信,STM32F4做從機,通信時數據異常,SPI2中SR寄存器會出現0xc0,0xc1,0x80的異常狀態(tài)值,大概就是BYS位,OVR位,RXEN位
    發(fā)表于 03-14 12:14