- 博客(16)
- 收藏
- 关注
原创 嵌入式学习,c语言中,ptr->是什么意思,怎么用?
在C语言中,ptr->是用于访问结构体或联合体指针指向的成员的操作符。具体地说,当你有一个指向结构体或联合体的指针时,你可以使用ptr->member来访问该指针指向的对象中名为member的成员。这是(*ptr).member的简写形式,两者作用完全相同,但是ptr->member的写法更为简洁和常用。// 定义一个结构体int age;// 创建一个Person结构体变量// 创建一个指向Person的指针// 指针指向person1// 通过指针访问结构体成员并赋值。
2024-04-11 10:32:16
513
1
原创 RS485调试踩坑:使能延迟与传输延迟
平台:STM32F103RBT6,带隔离的485芯片,一个脚为使能脚,高电平发送数据,低电平接收数据,软件通讯层无任何通讯协议,硬件层TTL转485。1.第一次程序是使用轮询的方式,调用485程序,发现接收或者发送均有问题。2.第二次使用的时候,使用中断,发送,接收,两个功能不能同时存在。使用usb转TTL模块查看原因发现,串口可以正常使用,因此基础程序没用配错。查找了一切硬件因数发现无任何问题。为此查看了芯片和485逻辑电平信号。
2024-03-01 17:02:57
2913
2
原创 前后台,单片机裸机编程的思想
举一个简单的例子,做吧台生意,你的前台负责点酒,你的后台负责调试鸡尾酒,如果你前台调试了鸡尾酒,你的后台就收不到订单,就没有事情做,而且前台其他客人还在等着前台,很多客人就会丢失,所以,类比一下。前台就是中断,客人就算数据,后台就算做鸡尾酒的,单子就是事件。博主认为,就算再操作系统精简化,也有不少公司仍旧使用轮询方式或前后台的方式运行程序,在产品内部,也有不少程序员整理公司部分公司的烂代码的时候,发现依托答辩,采用不光轮询方式,而且硬件软件没有进行分割,不少应用层和硬件低程序的高度耦合。
2024-02-05 19:16:29
720
原创 float浮点型转化为无符号类型(32位),采用指针方式,串口等通讯方式,无损传输数据
很多时候,需要将浮点型数据传输到其他设备中,但是由于一些通讯协议的特殊性质,比如串口、can传送的都是单个8bit数据(1字节),但是浮点型不能直接传输,具体就是带小数点。博主应用背景是将单片机数据,传送到DSP中。博主采用的平台是f103单片机的。采用该方式,可以传输到其他设备平台,其他设备也可以将其转化。运算的结果,并非我们想要的数值,传送的数值,在转回去,float,会导致数据遗失。所以采用指针的方式,用来转化数据。如果采用强转类型,如。
2024-01-27 09:11:30
1930
原创 位领法:状态位-union ,结构体用法,创造一个类似寄存器操作,可以节省空间,用于标志位状态切换
【代码】状态位-union 用法。创造一个寄存器。
2024-01-25 13:40:01
510
原创 C语言:基于移位法 8位、16位、32位数据转
我们一般情况下,将数据高低位是从左边到右边划分的,比如0x1234,其中,12为此段数据的高16位,34为数据的低8位数。
2023-12-04 11:07:35
1647
原创 KILE5 MDK5 自用比较舒服的背景颜色方案设置
style.cpp.32=font:骞煎渾,size:14,fore:#909090,back:#252525。style.cpp.10=font:骞煎渾,size:14,fore:#EA0000,back:#252525。style.cpp.11=font:骞煎渾,size:14,fore:#C0C0C0,back:#252525。style.cpp.35=font:骞煎渾,size:14,fore:#FF0000,back:#252525。font.monospace.cpp=骞煎渾。
2023-12-01 16:35:35
1462
原创 keil中,将stm32工程文件转化bin文件方法
其中注意箭头指向地方是必须要有空格的。--bin -o "$L@L.bin" "#L"keil中,将stm32工程文件转化bin方法。如何打开里面的fromelf.exe程序。2.补充步骤3 的一些操作。
2023-11-03 18:16:53
308
原创 IAPStm32在线升级,串口下载后,已经跳转了 app,但是app不运行
stm32 iap 在线升级后,app程序进去却不运行问题解决方法
2023-11-03 17:36:18
1286
1
转载 Altium Designer ad办公常用快捷键
通常原理图设计完成后,就开始PCB设计。有几个地方需要注意:1.原理图设计完成后一定要先评审,确保无误后再进行PCB设计。2.PCB布局(保证USB,RJ45及其它连接器位置合适),这些都需要跟结构工程师一起确认。3.设置好走线规则,否则事倍功半。4.覆铜前一定要记得补泪滴。以上就是PCB设计前的一些准备工作。PCB设计过程中的一些快捷方式有助于提高画板效率。Ctrl+鼠标左键 对正在布的线完成自动布线连接(如果走线比较长,这个快捷键挺好用)。E+M+C 点击空白处可迅速找到PCB上想要的元
2021-12-14 21:35:49
5125
1
原创 Cubemx学习 keil 5 mdk 5 编译器中ST-LINK无法识别
现象一:keil 5中 编译器中ST-LINK无法识别现象二:设备管理器能够识别Stlink这里能够识别是判断了硬件没有任何问题,那么就是软件配置出现了问题。解决方法1.这里我们通常使用stlink的是4线下载。GND/VCC/SWCLK/SWIO方式下载。问题出现在这里2.打开Cubemx,(1)、(2)在system core->SYS(3)Debug选择Serial Wire(4)出现对应调试管教友善提醒:我们在编写程序的时候尽量避免使用调试口作为其他功能GPIO
2021-11-07 15:27:16
5804
原创 使用cubemx写stm32f103,PWM波
使用cubmx写stm32f103,PWM波程-# 系列文章目录使用cubemx生成四路PWM波代码提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录使用cubmx写stm32f103,PWM波程前言一、pandas是什么?二、使用步骤2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考
2021-11-07 01:07:33
6133
2
原创 学习笔记CUMBEMX新建工程
CUMBEMX新建工程新建工程选择芯片型号管脚配置输出配置GPIO口,点亮一个LED灯,命名一下灯的名字,I/O输出模式等等建立项目名字,和保存路径。一定要求是英文路径,否者会缺失启动文件选择编译器,我这里选择是V5版本的MDK,RAM。一定要选择Generated files的第一项最上面的是,调用单片机的资源,一般为了缩减编译时间,选择第二个,我这里选择第一个,看个人使用习惯生成代码库然后打开文件夹选择mdk文件,开始编辑逻辑,里面的基本函数已经编译完成,初始化已经完成
2021-11-03 10:08:46
236
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人