stm32应用、项目、调试

news2024/12/30 2:11:34

主要记录实际使用中的一些注意点。

1.LCD1602

电路图:

看手册:电源和背光可以使用5v或者3.3v,数据和控制引脚直接和单片机引脚连接即可。

单片机型号:stm32c031c6t6  可以直接使用推完输出连接D0--D7,RS,EN,RW引脚,3.3v就可以驱动(我使用的是这种方式);或者使用开漏输出,外面加上拉电阻5v驱动(没有用,不知道效果)。

两个间隔时间:

1.控制时序的延时:这个用的多,时间太短会显示不正常,或者不显示。

2.发给lcm指令之间的延时:一般初始化的时候回用一下

/*液晶初始化*/
void Lcm1602A_Init(void) 
{    Lcm1602A_Wr_Command(0x38);
    Lcm1602A_Wr_Command(0x38); //2次显示模式设置
    Lcm1602A_Wr_Command(0x0c); //显示及光标设置
    Lcm1602A_Wr_Command(0x01); //显示清屏
    HAL_Delay(2);
    Lcm1602A_Wr_Command(0x06); //显示光标移动设置
    Lcm1602A_Display_String();
}
/*发送指令给lcd*/
void Lcm1602A_Wr_Command(uint8_t wrcommand) 
{
    RS_1602A(0);//控制引脚
    RW_1602A(0);//控制引脚
    Lcm_Delay(LCM_DELAY_TIME);//这个延时很重要
    Lcm1602A_Data_Write(wrcommand);//写入数据(指令)
    Lcm_Delay(LCM_DELAY_TIME);
    E_1602A(1);//使能引脚
    Lcm_Delay(LCM_DELAY_TIME);
    E_1602A(0);
}

遇到的问题:减少Lcm_Delay(LCM_DELAY_TIME)时间;导致初始化失败,可是看手册的话,接受一个指令1us就够了,可是实际使用却需要几十us或者更长时间才够,不知道哪里的问题。先不管了。

Lcm_Delay(LCM_DELAY_TIME)不同时间下:

初始化效果:

正常如下


间隔100us如下

 间隔50us:

间隔10us如下

间隔2us如下

其他状况:

本来应该是第一行显示0--9 符号  第二行显示字母的,

不知道是程序被动过了,还是编译环境,还是什么有变化,初始化完成就变成了这样。

同样的时间下,连续两行显示全部显示不成功,但是一次显示几个字符却可以正常显示,当时调试的时候,就是这原因没注意到初始化没成功。

处理方式:增长延时的时间,lcd显示不需要很实时。

原因:同样的Lcm_Delay(LCM_DELAY_TIME) (大概延时10us),

(外部晶振用的是25mhz)定时器tim3的Prescaler = 47; Period = 1;可以正常初始化

改成Prescaler = 24; Period = 999; 初始化会出错。

2.rs485、rs232、rs422

rs485使用:

max3485:3.3v左右驱动

max485:5v左右驱动,不过有时候3.3v驱动也可以使用,具体有什么问题或者通过电路规避问题还没有了解过。

rs485和rs422有相同的地方,485满足422的规范,反过来不行,要注意。

MAX481/MAX483/MAX485/ MAX487:用于rs485

MAX488/MAX490/MAX491:用于rs422

MAX232/MAX3232:用于 rs232

以上是常见型号,不同公司命名方式不同,

通讯芯片:rs485芯片使用电路图

此电路图是简单版本,没有偏置电路(上下拉),防冲击器件,可以使用的,只是少了安全等旁电路。

资料:

 RS485使用注意事项(上下拉电阻)

https://www.cnblogs.com/CodeWorkerLiMing/p/14259593.html

rs485调试遇过的问题:

单片机引脚TX和RX搞反了,测试max487之前的串口是有数据的,电脑串口助手能够接受到,经过接收不到了。  找原因以为是ab相少了上下拉电阻;电压什么不对,后来确定原因是引脚反了,虽然反了,但是中间偶尔也能收到几个正确的字符,所以开始主要以为是程序有问题。

如果max输入端没问题,输出端差分引脚ab接反了,电脑串口助手也能收到字符,就像波特率不对,也能收到字符,不过解析出来的是乱码。

资料:

关于485通讯芯片MAX487的一个问题

关于485通讯芯片MAX487的一个问题 - 通信技术 - 21ic电子技术开发论坛

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1987914.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uni-app可替换radio-group的控件uni-segmented-control(十九)

【前言】 以前写过一篇对radio-group中的元素进行分列展示的文章,有兴趣的朋友可以看以下uni-app将radio-group元素分列展示(七):专栏管理-CSDN创作中心https://mp.csdn.net/mp_blog/manage/column/columnManage/12711831当时主要是因为radio-group中的元素过多,如果利用手…

600道大模型面试题,看完它手撕面试官,非常详细收藏我这一篇就够了

大模型面试题及答案 什么是大模型? 答: 大模型通常指的是那些拥有大量参数(例如数十亿甚至更多)的人工智能模型,这些模型经过大规模数据集的训练,能够处理复杂的任务。大模型的一个重要特点是它们往往能够捕…

977. 有序数组的平方(双指针)

目录 一题目: 二:代码: 三:结果: 一题目: 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 二:代码: class Solution…

汽车动态:小米汽车对开门车型热议:技术储备与量产计划的辨析

小米汽车,作为科技巨头小米集团进军汽车行业的新尝试,自宣布以来就备受市场关注。近日,有关小米汽车是否会推出对开门车型的问题引起了广泛讨论。小米汽车对此作出回应,明确表示技术储备并不直接代表一定会进行量产。 首先&#…

【Material-UI】按钮与第三方路由库的集成详解

文章目录 一、ButtonBase 组件简介二、与第三方路由库的集成1. React Router示例代码 2. Next.js示例代码 三、客户端导航的优势四、其他自定义集成1. 使用自定义组件示例代码 五、总结 在现代前端开发中,单页应用(SPA)变得越来越普遍。这种应…

Vision Pro使用GLFT 加载模型shader错误解决办法

Glft shader在vision pro上加载错误 前言相关背景解决办法 参考文章 前言 之前在Vision Pro上尝试加载Glb文件,但是加载完成后发现加载出来的Glb文件材质不正确。材质是黑色的。因此整理一下解决方案。 相关背景 使用Unity开发,Glb的加载插件为gltf F…

SQL二次注入

目录 1.什么是二次注入? 2.二次注入过程 2.1寻找注入点 2.2注册admin#用户 2.3修改密码 1.什么是二次注入? 当用户提交的恶意数据被存入数据库后,因为被过滤函数过滤掉了,所以无法生效,但应用程序在从数据库中拿…

动手学深度学习V2每日笔记(深度卷积神经网络AlexNet)

本文主要参考沐神的视频教程 https://www.bilibili.com/video/BV1h54y1L7oe/spm_id_from333.788.recommend_more_video.0&vd_sourcec7bfc6ce0ea0cbe43aa288ba2713e56d 文档教程 https://zh-v2.d2l.ai/ 本文的主要内容对沐神提供的代码中个人不太理解的内容进行笔记记录&…

COCO格式json转yolo唯一官方指定转换方法

自带转换程序,谁还在那自己写呢? https://docs.ultralytics.com/reference/data/converter/?hconvert_coco#ultralytics.data.converter.convert_coco """ 这个脚本用于将coco数据集格式转换为yolo数据集格式 """ from …

【最新版】Windows10纯净专业版下载:无捆绑软件!

今天系统之家小编给大家带来2024年最新的Windows10纯净专业版系统,经过精心地优化,确保系统无捆绑软件,系统资源占用少,是非常干净的专业版系统,且兼容性强,配置不高的老电脑也适合安装,安装后运…

linux 查看一个端口是否被占用

1 linux命令 要在Linux中查看一个端口是否被占用,可以按照以下步骤进行操作: 打开终端(Terminal)。 运行以下命令来列出系统上所有正在监听的端口及其对应的进程: sudo netstat -tuln | grep LISTEN这将显示所有正在…

【LeetCode每日一题】2024年8月第二周(上)

2024.8.5 困难 链接:600. 不含连续1的非负整数 (1)题目描述: (2)示例 (3)分析 思路1: 题目要求的数值,是将数二进制转换后,不存在连续的1&#x…

python 爬取 ip 代理网站 获取ip代理池

爬取的网站:免费私密代理IP_IP代理_HTTP代理 - 快代理 示例代码: import jsonimport requests import time,reclass daili:# 1.发送请求,获取响应def send_request(self, page):print("正在抓取第{}页".format(page))# 目标网页&…

设计模式19-状态模式

设计模式19-状态模式(State Pattern) 写在前面状态变化模式 动机定义与结构定义结构 C代码推导优缺点应用总结 写在前面 状态变化模式 在组建构建过程中,某些对象的状态经常面临着变化。如何对这些变化进行有效的管理呢?同时又w…

特征向量可视化方法介绍

在最近的研究中,实验需要结合可视化进行解释分析,于是大致上了解了下目前一些特征可视化的工具,主要分为四种类型:热力图、散点图、线性图和雷达图,并将相应的基础绘制方法做一个简单的总结。 1 热力图(Hea…

向量检索的3种方式

本文介绍向量检索服务如何通过控制台、SDK、API三种不同的方式检索向量。 控制台方式 登录向量检索服务控制台。 在左侧导航栏单击Cluster列表,选中需要检索向量的Collection,单击Collection详情。 在左侧二级导航栏,单击相似向量搜索&…

Leetcode - 136双周赛

目录 一,3238. 求出胜利玩家的数目 二,3239. 最少翻转次数使二进制矩阵回文 I 三,3240. 最少翻转次数使二进制矩阵回文 II 四,3241. 标记所有节点需要的时间 一,3238. 求出胜利玩家的数目 本题直接暴力求解&#x…

springboot招聘管理系统-计算机毕业设计源码26241

摘 要 随着企业的发展和竞争的加剧,人才招聘成为企业人力资源管理中的重要环节。为了提高招聘效率、降低招聘成本,同时提升招聘过程的透明度和公平性,设计并实现一款基于 SpringBoot 的招聘管理系统具有重要的现实意义。 本系统旨在提供一个全…

【MySQL】MySQL常见命令大全

目录 前言一、DQL二 、DML(数据操作语言)部分2.1 插入数据:2.2 更新数据:2.3 删除数据:2.4 创建 create 三、修改 alter四、删除 drop五、表的复制六、常见数据类型 前言 大家好,不知道前面的20题大家写的怎么样,前面分享的20题是…

数据库技术如何增强 AI 大模型?来直播间同拓数派开启探索之旅!

如今,大模型应用正以前所未有的速度改变着各个行业。从自然语言处理、计算机视觉到多模态任务的解决方案,AI 技术已经成为推动业务创新的核心力量。然而,大模型的训练和推理需要处理大量高维度的向量数据,传统数据库在面对这些需求…