【GD32】F330 串口只能返回00的问题记录

2023-11-10

最开始借助正点原子的视频教程在STM32mini板上跑通了串口的字节收发,但在移植程序到GD32的过程中遇到了一个bug:在b站找了GD32的串口教程手敲代码,却跟演示效果不一致,在while(1)循环里给上位机发送数据,虽然PC能够接收到USART发送来的数据,但勾选“HEX"显示的只有"00"。

排错的时候以为是串口收发代码的细节被自己敲漏了,但比对网上搜索的多份字节、字符串收发代码发现应该不是这里的问题。

试了一天之后才发现是自己的串口初始化配置出错——未设置成“复用”。

修改后针对使用的GD32F330RBT6代码如下:

    /* USART0 GPIO config */

    gpio_af_set(GPIOA, GPIO_AF_1, GPIO_PIN_9);

    gpio_af_set(GPIOA, GPIO_AF_1, GPIO_PIN_10);

    //推挽复用输出

    gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_9 | GPIO_PIN_10);

    gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9 | GPIO_PIN_10);        


**ERROR**

原先的错误记录如下:

        //设置TX为推挽输出

       gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE,GPIO_PIN_9);

       gpio_output_options_set(GPIOA,GPIO_OTYPE_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_9);

     

     //设置RX为浮空输入

      gpio_mode_set(GPIOA, GPIO_MODE_INPUT, GPIO_PUPD_NONE,GPIO_PIN_10);   

      gpio_output_options_set(GPIOA,GPIO_PUPD_PULLUP,GPIO_OSPEED_50MHZ,

                                                                                                                  GPIO_PIN_10);

         

        

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【GD32】F330 串口只能返回00的问题记录 的相关文章

  • ChatGLM2-6B安装部署(详尽版)

    1 环境部署 合理的上网工具 安装Anaconda3 安装GIT 安装GUDA 11 8 安装NVIDIA 图形化驱动 522 25版本 如果电脑本身是更高版本则不用更新 1 1 检查CUDA 运行cmd或者Anaconda 运行以下命令
  • 通讯录(动态实现与文件优化版)

    实现一个通讯录 通讯录可以用来存储1000个人的信息 每个人的信息包括 姓名 性别 年龄 电话 住址 提供方法 添加联系人信息 删除指定联系人信息 查找指定联系人信息 修改指定联系人信息 显示所有联系人信息 清空所有联系人 以名字排序所有联
  • backward()说明

    1 out backwark 中out是一个标量 此时可以直接使用out backwark import torch from torch autograd import Variable 生成一个内容为 2 3 的张量 Varibale
  • 半角和全角的区别

    很多时候我们阅读代码指导或者其他输入法总是会提到全角和半角 那么他们的区别是啥呢 区别 半角全角主要是针对标点符号来说的 全角标点占两个字节 半角占一个字节 而不管是半角还是全角 汉字都还是要占两个字节 英文半角占一个字节 也就是1byte

随机推荐

  • 六、STL容器:STL仿函数总结

    6 STL仿函数 6 1 概念 模仿函数的类 使用方式如同函数 本质是类中重载括弧运算符operator 6 2 场景 不同函数复用相同处理代码 6 3 使用 6 3 1 C语言的处理方式 使用函数指针和回调函数来实现代码复用 例如qsor
  • 记录的index表介绍

    index表定义 TYPE type name IS TABLE OF element type NOT NULL INDEX BY BINARY INTERGET 例如 1 TYPE emp type array IS TABLE OF
  • 365天挑战LeetCode1000题——Day 264 周赛336

    第一题 遍历 class Solution public int vowelStrings vector
  • python练习实例——金币问题

    目录 题目 解法 输出结果 题目 noip2015 复赛第一题 国王将金币作为工资 发放给忠诚的骑士 第一天 骑士收到一枚金币 之后两天 第二天和第三天 每天收到两枚金币 之后三天 第四 五 六天 每天收到三枚金币 之后四天 第七 八 九
  • sojson jsjiami.com.v6 爬虫js逆向

    sojson jsjiami com v6 爬虫js逆向 地址 aHR0cDovL3d3dy5wYmMuZ292LmNuL3JteWgvMTA1MjA4Lzg1MzIvaW5kZXg1Lmh0bWw 抓取内容 第一次请求 发现返回的不是正确
  • Thinkphp5使用sqlite3作为数据库无法存储小数点的解决方案

    Thinkphp5使用sqlite3作为数据库无法存储小数点的解决方案 在tp的官网搜了一下资料 主要是因为TP5自动绑定内型的时候自动将一些浮点数等类型的数字强制将PDO类型设置为了INT类型 而使用SQLITE数据库时 添加的语句遇到小
  • Centos安装Mysql图文配置详解

    1 安装镜像源 Centos7 MySQL 5 7 yum y install http repo mysql com mysql57 community release el7 rpm MySQL 8 0 yum y install ht
  • MayaToUE4之毛发

    毛发 说明 Maya流程 使用XGen UE4流程 毛发导入预设置 导入毛发 设置骨骼网格体的Groom 毛发材质 毛发物理效果 UE4假发一顶 说明 UE4毛发官方文档 Maya毛发创建XGen导出abc格式 并导入UE4 Maya流程
  • 在使用vnc viewer时候遇到connection refused 10061 111

    在使用vnc viewer时候遇到connection refused 10061 111 解决办法 一般是vncserver 没有启动的问题 在使用CentOS 的时候 可以使用ssh连接远程的服务器 开启vncserver ssh ro
  • Kubernetes 核心概念

    本节课程要点 什么是 Kubernetes 介绍 Kubernetes 的主要功能以及能力 Kubernetes 的架构 介绍 Kubernetes 的核心组件 以及介绍它们之间是如何相互互动连接 Kubernetes 的核心概念与核心 A
  • 安卓期末大作业智慧医疗app-疫苗预约app(附资源链接)

    安卓期末大作业智慧医疗app 疫苗预约app 一 登入页面 下载链接在文末 1 页面和功能展示 2 功能介绍 用户输入用户名和密码后 会和数据库的数据进行匹配 如果账号和密码正确就可以登入到主页面 输入空或者用户名密码错误时会提示错误 密码
  • PS如何快速修改证件照片底色

    PS快速修改证件照片底色 我这里是把蓝色换成红色 工具 原料 电脑 photoshop 方法 步骤 1 打开您的照片 我这个图片来自网络 2 1 选择菜单 选择 色彩范围菜单 2 这时候鼠标变成一个 吸管的形状 哟哦那个吸管在照片的背景上吸
  • java 图片 批量 压缩 +全部压缩

    oldsrc 原图片地址文件夹 如 d newsrc 压缩后图片地址文件夹 如 e widthdist heightdist 压缩后的宽和高 createtime 2010 11 25 auto yijianfeng public void
  • 遇到的bug问题

    1 扩展板的引脚 2 Tone方法 与 红外遥控方法 发生冲突 这个错误提示表面上是说在红外库里定义过的函数在Tone里又重复定义了 实际原因是红外库和Tone都使用了相同的内部计时器TIMER2 在各自的ISR函数里 换名字是不解决根本问
  • [[机缘参悟-87]:每个人需要了解自己的性格特征(老虎、孔雀、考拉、猫头鹰、变色龙)

    我是谁 生肖天性是 老虎 生活习惯是 考拉 后天工作是 猫头鹰 最远距离是 孔雀 心理学改变 变色龙
  • http请求头部各个字段的含义

    前言 我们前几天再做http头部注入的时候 遇到了好多头部 不知道都是啥意思 今天就总结一下 HTTP头字段 英语 HTTP header fields 是指在超文本传输协议 HTTP 的请求和响应消息中的消息头部分 它们定义了一个超文本传
  • clip-path介绍

    clip path介绍 简介 兼容性 基本语法 语法详解 基本图形 inset 基本图形 circle 基本图形 ellipse 基本图形 polygon 使用示例 圆形裁剪 椭圆裁剪 矩形裁剪 多边形裁剪 三角形 菱形 梯形 平行四边形
  • rem与mod的区别

    从老师提供的PPT中复制出来的 感觉还行直接用了 算是转载吧 rem与mod的区别不仔细区分的话 可把rem和mod都当作是求余数的命令 gt gt mod 3 2 ans 1 gt gt rem 3 2 ans 1这两个数的符号一致时的结
  • 4.1-真实世界的并发

    复习 并发编程的基本工具 线程库 互斥和同步 本次课回答的问题 Q 什么样的任务是需要并行 并发的 它们应该如何实现 本次课主要内容 高性能计算中的并发编程 数据中心里的并发编程 我们身边的并发编程 一 高性能计算中的并发编程 高性能计算程
  • 【GD32】F330 串口只能返回00的问题记录

    最开始借助正点原子的视频教程在STM32mini板上跑通了串口的字节收发 但在移植程序到GD32的过程中遇到了一个bug 在b站找了GD32的串口教程手敲代码 却跟演示效果不一致 在while 1 循环里给上位机发送数据 虽然PC能够接收到