usart串口只能发送不能接收

2023-11-17

今天出了一个低级错误,记录一下,下次注意

我想用stm32做一个usart发送和接收的程序,

目标:

发送用的是usart1串口

接收用的是中断,当有数据发送给单片机的时候,会触发中断,中断函数中将接受到的数据再发送出去,

程序非常简单,我就不放代码了,

出现的问题是单片机发送数据正常,但是无法接收数据,当有数据发送给单片机的时候,单片机无法进入接收中断。

我搞了好半天,检查了串口配置,中断配置,都没问题,

最后,最后,最后,我才发现了是什么地方出了问题

我的主函数是这样写的:

int main(void)
{	
	USART_Config();
  
	Usart_SendString( Usartx,"这是一个串口中断接收回显实验\n");
	printf("hello world!!!\n");
	
}

我花了好长时间,才看到是主函数出了问题,因为主函数在执行完打印之后,整个程序就结束了,这个时候还有个鸟的中断,再多中断也没用了,这个整个程序已经执行完了。

所以解决的办法也很简单,加上一个死循环,让程序别结束,等待中断就可以了

这样问题就解决了

int main(void)
{	
	USART_Config();
  
	Usart_SendString( Usartx,"这是一个串口中断接收回显实验\n");
	printf("hello world!!!\n");
	while(1)
	{
	};
}

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

usart串口只能发送不能接收 的相关文章

  • Java基础:Callable

    Callable具有返回值 抛出异常 import java util concurrent Callable public class TestCallable implements Callable Override public Bo
  • mysql 数据库字段动态扩展

    主要有一下几种方案 1 动态添加属性字段 当数据库中需要增加一个字段的时候 直接在数据库中增加 并修改相应的代码 优点 操作简单 易懂 缺点 每增加一个字段都需要修改数据库表结构 修改代码 而且在一张大表进行操作的时候 还可能需要很长时间
  • windows下的torch=1.2.0环境配置

    神经网络学习小记录48 windows下的torch 1 2 0环境配置 学习前言 环境内容 Anaconda安装 下载Cudnn和CUDA 配置torch环境 安装VSCODE 学习前言 好多人问环境怎么配置 还是出个教程吧 环境内容 t

随机推荐

  • Vmware 虚拟机 网络设置

    弄了很久 每次重启虚拟机都会网络连接不上 于是 这次弄好了之后 决定记录一下 我的虚拟机 主要用于PHP swoole 需要装在linux 上面 不得不通过虚拟机安装 学习一下 一 关于虚拟机的设置 1 选择NAT 模式 2 设置NAT模式
  • ShardingJDBC数据库中间件学习笔记

    简介 官网地址 https shardingsphere apache org index zh html Apache ShardingSphere 产品定位为 Database Plus 旨在构建多模数据库上层的标准和生态 它关注如何充
  • 【Docker】Docker java shell ssh

    1 在宿主机执行docker容器中的shell脚本或命令 常见命令形式 docker exec it master bin bash c echo PATH docker exec it master bin bash c cd home
  • 剑指offer-两个栈实现-队列尾部插入,头部删除

    大家都知道 队列是一个尾部 rear 插入 头部 front 删除的数据结构 本题要求 用两个栈 构造出一个队列出来 本题中 构造两个栈 stack1和stack2 1用来插入 2用来弹出 其中 栈1的插入很简单 函数体内部 直接用add方
  • 快速体验 Sentinel 集群限流功能,只需简单几步

    Pic by Alibaba Tech on Facebook 集群限流可以限制某个资源调用在集群内的总 QPS 并且可以解决单机流量不均导致总的流控效果不佳的问题 是保障服务稳定性的利器 Sentinel 从 1 4 0 传送门 版本开始
  • glog编译与使用

    1 拉取 git clone https github com google glog git cd glog mkdir build cd build cmake vs2022打开 编译release的 2 放到项目中 3 案例一 inc
  • 《动手学深度学习 Pytorch版》 5.4 自定义层

    5 4 1 不带参数的层 import torch import torch nn functional as F from torch import nn class CenteredLayer nn Module def init se
  • html中按钮下拉菜单,Bootstrap3.0学习笔记之按钮与下拉菜单

    前面的文章算是把Bootstrap CSS部分简单的学习了一遍 应该忽视了比较多的细节问题 不过大部分的内容我都过了一遍 并且用代码实现了一遍 而且看到了真实的效果 挺不错的 那么接下来的几篇文章主要来讲解Bootstrap的组件 那么本文
  • 回收站被清空如何找回

    回收站被清空如何找回 清空回收站 可以是手动清理也可以是自动定期清理 不过在清空回收站前 还是先排查所有文件 以防止误删的或意外删除的 但很多时候回收站是存放大量临时删除的文件 不可能在去一个一个排查的 通常都是看一下就直接按清空键清空了
  • Request请求

    Request请求 Request请求 就是客户端希望从服务器端获取资源 向服务器发出询问 在B S架构中 就是客户浏览器向服务器发出询问 在我们的JavaEE工程中 客户浏览器发出询问 要遵循HTTP协议所规定的 请求对象 就是在Java
  • java抽象类和接口编程题_Java 抽象类与接口 编程练习

    一 面向抽象编程 7175 编程题 编程语言 Java 題目內容 使用接口或者抽象类编写程序实现显示员工基本信息 具体要求如下 1 使用接口或者抽象类实现基类Employer 体会接口和抽象类的不同 包含姓名 部门和工资三个属性 显示工资的
  • APT攻击各阶段简介

    根据美国国防承包商洛克希德 马丁公司提出的网络杀伤链模型 APT攻击主要由7个阶段组成 分别为侦查跟踪 武器构建 载荷投递 漏洞利用 安装植入 命令与控制 目标达成 阶段1 侦查跟踪 侦查跟踪指攻击者在选定好攻击目标后 收集跟目标有关的情报
  • 基于微信小程序的医院预约挂号系统,附源码、数据库

    博主介绍 程序员徐师兄 7年大厂程序员经历 全网粉丝30W csdn博客专家 掘金 华为云 阿里云 InfoQ等平台优质作者 专注于Java技术领域和毕业项目实战 1 简介 Java基于小程序的医院预约挂号小程序 系统主要功能可以分为后台管
  • 在VS2015中让UnityShader脚本关键词高亮

    在写Unity中的shaderlab时 习惯了VS的同志们 想实现在VS2012 2015中显示Shader 关键字高亮 这里有一个方法 效果如图 这需要一个工具 在我的资源里面 http download csdn net detail
  • 个人IOS技能树

    一转眼 进入IOS领域已经半年了 整理了一下个人发展技能树 暂定时间为一年 技能树的最终目的是成为好的程序员 并且最终超越程序员
  • 使用jQuery创建节点、将节点插入到指定的位置

  • 钉钉应用开发,提示Warning: Invalid CERT Authority

    我司的网页应用与钉钉进行了单点登录的对接 结果在钉钉App中打开提示SSL error 顶上的提示是Warning invalid CERT Authority 点击Yes可以正常访问 只是每次提示很麻烦 应用是Nginx Tomcat架构
  • 关于三通道彩色图像的存储方式理解

    像素值以 矩阵方式 保存 矩阵的大小取决于图像采用的颜色模型 灰度图 如果是灰度图 那么图像就是单通道的 图像中的每个像素只需要一个矩阵元素来保存 一般就是 0 255 的值 保存灰度图的矩阵长这样 其中 Row0 和 Column0 的交
  • 测试用例设计方法——等价类

    等价类 思路 输入的集合是无穷的 不能全部都覆盖到 依据需求将输入 特殊情况下会考虑输出 划分为若干个等价类 从等价类中挑选一个测试用例 如果这个测试用例通过 则认为所代表的等价类通过 这样就可以用较少的测试用例达到尽可能多的功能覆盖 解决
  • usart串口只能发送不能接收

    今天出了一个低级错误 记录一下 下次注意 我想用stm32做一个usart发送和接收的程序 目标 发送用的是usart1串口 接收用的是中断 当有数据发送给单片机的时候 会触发中断 中断函数中将接受到的数据再发送出去 程序非常简单 我就不放