0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样使用STM32F103 Nucleo板的USART2接收数据

454398 来源:网络整理 作者:网络整理 2019-11-26 15:44 次阅读

步骤1:使用STM32CubeMX创建项目

怎样使用STM32F103 Nucleo板的USART2接收数据

打开STM32CubeMX。点击“新项目”。从系列中选择“ STMF1”,从“行”中选择STM32F103。从MCU列表中,选择“ STM32F103RBTx”。单击“确定”。

{参见图:[1]}

在“ USART2”下的“ USART2”下将“模式”设置为“异步” “外围设备”标签。并将“ PA5”设置为“ GPIO_ouput”。

{见图:[2]}

现在,单击“ Generate Code”(生成代码)[Ctrl + Shift + G]。在“工具链/IDE”下输入项目名称,保存项目的位置以及“ MDK-ARM V5”。点击“确定”。在Keil中打开生成的代码。

步骤2:在KEIL中编程

一旦在Keil,打开“应用程序/用户”文件夹下“项目:”下“”下的“ main.c”。向下滚动以查找“ #include“ stm32f1xx_hal.h”。在此之后添加以下代码行:

#include “string.h”

{参见图:[3]}

现在,向下滚动到while循环并输入以下代码行:

char buff2[ 6 ] = “ 》》》”;

HAL_UART_Transmit ( &huart2, buff2, strlen( buff2 ), 10 );

char buff[ 50 ];

memset( buff, 0, 50 );

HAL_UART_Receive( &huart2, buff, 50, 5000 );

if( strcmp( buff, “on” ) == 0 )

{

HAL_GPIO_WritePin( GPIOA, GPIO_PIN_5, 1 );

} else if( strcmp( buff, “off” ) == 0 )

{

HAL_GPIO_WritePin( GPIOA, GPIO_PIN_5, 0 );

}

因此,您的Keil窗口将如下所示:

{见图:[4]}

单击“构建”按钮(或按“ F7”)。连接您的STM32开发板并单击“加载”按钮(或按“ F8”)

第3步:可视化输出

现在,按“ STM32”板上的“ Black” Rest按钮。

现在,当我们将“ on”发送到连接STM32的COM端口时将STM板上的LED设为“ ON”,当我们发送“ OFF”时,它将LED为“ OFF”。要发送这些字符串,请打开Docklight。打开您的STM32 Board连接到的COM端口,波特率为115200。单击“开始通信”按钮。现在,您应该每5秒开始收到以下消息:

》》》

就像下图所示:

{参见图:[5]}

现在,单击控制台窗口上的按钮,以便您可以键入一个窗口。现在,当下一行出现“ 》》》”时,您必须在接下来的5秒钟内键入“ on”或“ off”。现在,键入“ on”,您将看到下一个“ 》》》”出现时,LED将被打开。现在,键入“ off”,您将看到,一旦下一个“ 》》》”出现,LED就会变成“ OFF”。

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32F103
    +关注

    关注

    33

    文章

    474

    浏览量

    62520
  • Nucleo
    +关注

    关注

    0

    文章

    26

    浏览量

    17253
收藏 人收藏

    评论

    相关推荐

    STM32F051K8TX hal库生成USART2库文件不能收发数据怎么解决?

    芯片:STM32F051K8TX 外部晶振:16Mhz 使用串口:USART2,中断发送接收 使用STM32Cube 生成 STM32F0
    发表于 04-15 06:38

    STM32G070RB nucleo-64通过STM32CubeMX生成的串口程序无法接收数据怎么解决?

    元旦放假在家得到一块Nucleo-64 STM32G070RBT的开发通过STM32CubeMX 生成的串口 无法接收
    发表于 04-09 07:13

    关于STM32F303CB USART2中断接收的疑问求解

    STM32-CUBE环境。 STM32F303CB USART2 采用中断接收,串口下载程序后能运行正常。 问题是,只要重新断电再启动就只有一次中断
    发表于 04-03 06:30

    stm32f103如何实现spi从机接收不定长数据

    stm32f103 如何实现spi从机接收不定长数据数据首字节说明了数据长度) 求个思路或例程 用的HAL 库
    发表于 03-28 07:47

    STM32L010K8T6用USART2串口唤醒失败如何解决?

    我需要实现的功能:干电池提供电源持续使用5年以上。外部接口只有3个,2个GPIO和1个USART2个GPIO用于外部中断,USART用于和上位机通信。项目使用
    发表于 03-21 08:18

    STM32F103如何使用BOOT下载程序?

    STM32F103如何使用BOOT下载程序
    发表于 03-15 07:21

    STM32F429可以使用USART2的PD5,PD6作为串口下载口吗?

    在使用STM32F429的时候想到可不可以使用USART2的PD5,PD6作为串口下载口,USART1的PA9,PA10作为别的用途,但是在尝试过程中发现好像并不可以。我想请问是本身就不支持还是说我哪里配置错了,上位机我使用的是
    发表于 03-11 08:24

    STM32F405 uart DMA收发数据输出乱码怎么解决?

    乱码,波特率设置无误(debug显示接收数据正常)请问是不是哪里配置不对? cube生成代码之外user config如下: void usart_transmit_buffer_f( uint8_t
    发表于 03-08 07:38

    STM32USART发送数据时如何使用TXE和TC标志呢?

    串行通信协议。USARTSTM32 中有多个实例,包括 USART1、USART2 等,其特性和功能也不完全相同。 在发送数据时,
    的头像 发表于 10-26 11:31 736次阅读

    stm32f103可以使用nandflash吗?

    stm32f103可以使用nandflash吗
    发表于 09-21 06:25

    STM32F103VDT6 Flash操作导致USART接收数据的解决方案

    该问题客户提出,发生在 STM32F103VDT6 器件上。据其工程师讲述:在其产品设计中,使用了 STM32片上 Flash 模拟了一个 EEPROM 的功能,用于存贮数据。在软件调试时,发现开启此功能,会影响到
    发表于 09-07 06:41

    ch32v103stm32f103的区别

    ch32v103stm32f103的区别  Ch32v103STM32f103是两种不同的芯片,虽然它们都是基于ARM Cortex-M3内核的32位微控制器,但它们在硬件配置、功
    的头像 发表于 08-22 15:49 1295次阅读

    用于stm32f103 A/D信号采集的处理

    用于stm32f103 A/D信号采集的处理
    发表于 08-01 18:13 3次下载

    STM32USART1与USART2模块串行数据通讯功能

    STM32USART1与USART2模块支持多种功能,包括IrDA红外、Smart Card(IC卡)等。
    发表于 07-24 14:28 1933次阅读
    <b class='flag-5'>STM32</b>的<b class='flag-5'>USART</b>1与<b class='flag-5'>USART2</b>模块串行<b class='flag-5'>数据</b>通讯功能

    STM32F103用RT-Thread怎样设置串口1.5 个停止位呢?

    STM32F103用RT-Thread怎样设置串口1.5 个停止位呢?求大神解答
    发表于 04-17 15:52