首页 > 其他分享 >STM32开发笔记

STM32开发笔记

时间:2022-10-10 15:56:22浏览次数:53  
标签:通讯 笔记 STM32 开发 TTL 波特率 管脚 CMOS

@

目录

前言

记录开发过程中的总结和遇到的问题

总结

中断

  • 中断里面的函数,尽量不要占用太多的时间,否则程序可能不能按照计划正常工作。
  • 中断是随时可以发生的
    • 所以在对数据进行操作时候,要考虑到状态的改变,如果不能在中断中进行处理的话,要先关中断,在写数据

温度采集

对于采集的温度值范围的设置要留有余量,
比如温度的最大值是3000℃,要留有余量,设置成3010℃,让客户知道已经超出了最大的温度范围。
如果只设置3000℃的话,那么3001℃和4000℃都是显示3000,没办法判断到底是超过了多少。

版本

在实际项目开发中,通常分为Release和Debug版本

  • Debug版本有大量的字符串提示系统运行的情况
  • Release版本对这些字符串进行裁剪,否则占用内存空间中的.TEXT段太多,显得很臃肿。

KEIL4里面添加BAT文件

如下图所示,可以在编译之前和编译之后添加.bat文件,.bat可以对文件重命名(如带上SVN版本号)等操作
img

大小端模式

0000430: e684 6c4e
在大端模式下,前16位应该这样读: e6 84 6c 4e ( 假设int占4个字节)
记忆方法: 从左到右,书写的顺序

0000430: e684 6c4e
在小端模式下,前16位应该这样读: 4e 6c 84 e6( 假设int占4个字节)
记忆方法: 相反

volitale关键字

img

STM32的引脚电压多少伏算高电平,多少伏算低电平

STM32的I/O管脚有两种:TTL和CMOS,所有管脚都兼容TTL和CMOS电平。也就是说,从输入识别电压上看,所有管脚(不管是TTL管脚还是CMOS管脚)都可以识别TTL或CMOS电平。下面是摘自STM32数据手册的有关数据:
img

问题

串口通讯

当使用9600波特率的时候,通讯稳定,当使用115200波特率的时候,通讯变得不稳定。

串行通信中,数据位信号流在信号线上传输时,要引起畸变,畸变的大小与以下的因素有关:

  • 波特率-----信号线的特征(频带范围)
  • 传输距离---信号的性质及大小(电平高低,电流大小)
  • 当畸变较大时,接收出现误码。
    在规定的误码率下,当波特率,信号线,信号的性质及大小一定时,串行通信的传输距离就一定。为了加大传输距离,必须加调制解调器。
    最终解决方案: 通讯协议解析的时候,处理不是很好,没有对当出现错误的帧的时候,进行处理。

调试

调试的时候,显示的值异常,不方便阅读
img
修改成以下即可:__IO 即 volatile
img

标签:通讯,笔记,STM32,开发,TTL,波特率,管脚,CMOS
From: https://www.cnblogs.com/Wei-Ting/p/16776004.html

相关文章

  • 005Java开发环境搭建
    005Java开发环境搭建1、JDK下载与安装(1)卸载首先我们先来学习一下如何卸载JDK。删除Java的安装目录(jdk整个包)。删除环境变量里的“JAVA_HOME”。删除Path下关于Java......
  • 【学习笔记】HTTP
    HTTP 什么是httpHTTP:超文本传输协议,是一个简单的请求-相应协议超文本:图片、视频、音乐、定位默认端口:80HTTPS:以安全为目标的HTTP通道,在HTTP的基础上加入......
  • k8s笔记
    k8s笔记一、集群管理#查看集群kubectlcluster-info二、node管理#查看nodeskubectlgetnodes#通过标签筛选nodekubectlgetnodes-lgpu=true#给node添加标签kubectl......
  • JavaScript高级程序设计笔记04 变量、作用域与内存
    变量、作用域与内存变量特定时间点一个特定值的名称。分类原始值:按值访问复制:两个独立使用、互不干扰引用值(由多个值构成的对象):按引用访问操作对象时,实际上......
  • 搞AI开发,你不得不会的PyCharm技术
    摘要:PyCharm在AI项目开发提供了优秀的代码编辑、调试、远程连接和同步能力,在开发者中广受欢迎。使用PyCharm插件配合ModelArts:一键帮助用户配置远程ModelArtsNotebook,......
  • 你真的会记笔记吗?支持高效分类记笔记的软件
    对于不少上班族或大学生来说,如果想要随手记录笔记内容,使用手机或电脑上的笔记软件是更加便利的。因为与传统的纸质笔记本记录方式相比,使用笔记软件来记录笔记,不仅支持文字......
  • 【笔记】分层图DJ
    分层图的题都很麻烦地要在dijkstra外面套个循环,其实可以不用。以经典模板[JLOI2011]飞行路线为例,给DJ的优先队列里面的点加一维状态\(k\),\(f(u,k)\)可以免费转移......
  • Dapp系统开发与web3.0技术实现
     Web3.0背后的概念是,让数据本身依托于开放的数学算法与协议,不依赖于机构甚至个人。建于Web3.0的应用程式称为DApp(DecentralizedApplication),强调网路开放而且分散地安......
  • WEB学习笔记 html篇
    htmlHTML(HyperTextMarkupLanguage)是用来描述网页的一种语言。HTML不是一种编程语言,而是一种标记语言。学习HtML其实就是学习标签。快速入门新建文本文件,后缀名......
  • 上位笔记_03_ini配置文件读写(支持中文)
    下图所示内容根据不同设备会有不同内容,需要自定义,为了将该部分内容从代码中脱离采用ini配置的方式进行方便后续引用,将ini文件读写类放入工具类中集中存放。  在调节......