- 博客(50)
- 资源 (1)
- 收藏
- 关注
原创 1、QT应用程序Windosw开机自动启动
首先我们要在注册表中增加自己的应用程序绝对路径注册表路径如下:Update为我的应用程序我是基于QT6开发的。
2024-03-14 21:26:30 257
原创 JlinkV8 - 8步修复Jlink固件
由于市面上很多个版本PCB是不一样的,所以我直接用万用表分析引脚位置,一般PCB上都有排针引出来,比如下面我这个PCB的排针就含有上面两个引脚,但没有丝印,我自己用万用表测了。用着用着Jlink设备可以检测到,但是MDK检测不到设备序列号,换一个Jlink即可正常识别与烧录,很大概率是Jlink固件丢了,我用的山寨版本,市面基本是山寨版本。6、安装SAM-BA烧录固件的软件、并安装Jlink-V8的固件 ,这可以百度找,找不到在评论区留言。4、此刻Jlink连接电脑应该是无法识别设备。
2023-08-12 14:32:02 1249
原创 网络知识笔记
以太网首部”包含数据帧的一些说明项,长度固定为 14 字节;“数据”的长度,最短为 46 字节,最长为 1500 字节;“以太网尾部”的长度固定位 4 字节;以数据链路层实际上由两个独立的部分组成,介质存取控制MAC和逻辑链路控制层LLC,MAC 确保信息跨链路的可靠传输,对数据传输进行同步,识别错误和控制数据的流向。
2023-04-09 16:05:49 576
原创 STM32-9 STM32CubeMX的使用方法
本项目是基于FreeRTOS项目的STM32CubeMX开发方式,说明了具体配置与相关参数,以及mdk使用,裸机也可以参考本配置。
2023-03-25 22:51:51 2797
原创 stm32 -7 FreeRtos+CubeMX 相关函数说明
获取互斥量:osMutexWait(osMutexId,outTime)创建一个递归互斥量:osRecursiveMutexCreate。释放互斥量: osMutexRelease(osMutexId)释放递归互斥量:osRecursiveMutexRelease。获取递归互斥量:osRecursiveMutexWait。创建一个互斥量:osMutexCreate。删除一个互斥量:osMutexDelete。
2023-03-24 11:06:19 423
原创 STM32-6-assert_param函数使用
在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用。如果打开任何一个例程中的stm32f10x_conf.h文件,就可以看到实际上assert_param是一个宏定义;在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。如果USE_FULL_ASSERT没有宏定义,则执行((void)0),即什么都不做。
2023-03-24 10:46:58 326
原创 STM32-5 STM32 ADC通过DMA发送到串口
DMA是CPU的小助手,负责完成数据转运的任务,一般的数据转运可以在主函数完成,但是如果数据量巨大,就不适合在main函数中转运了,因为那样会占用大量CPU进程。ADC就是一个例子,ADC需要不断采集模拟信号,交给CPU处理,数据量巨大,所有ADC如果出现了,那一般都会给它配置一个DMA来完成数据转运。看下要关注的DMA结构体。
2023-03-19 20:41:02 622
原创 STM32 -4 关于STM32的RAM、ROM
它主要用于存储代码,FLASH 存储器的内容在掉电后不会丢失,STM32 芯片在运行的时候,也能对自身的内部 FLASH 进行读写,因此,若内部 FLASH 存储了应用程序后还有剩余的空间,我们可以把它像外部 SPI-FLASH 那样利用起来,存储一些程序运行时产生的需要掉电保存的数据。并且访问内部 FLASH 的速度要比外部的 SPI-FLASH 快得多,
2023-03-18 20:49:55 9015 2
原创 ESP8266-C开发-3串口下载固件失败方案
通过下表查看GPIO15应该是0 ,但是当前一直是1,将该引脚接到屏蔽外壳(GND)上,下载成功,最终查找发现是GPIO15引脚虚焊。总所熟悉,如果串口没有问题,在下载程序失败 可以根据启动信息来查找下载错误。()第二个值7代表 SDIO/UART 判断。按下boot,复位启动 串口可以接收到。()第一个值5代表当前 boot 模式。显然下载程序第一个值应该是1才对。复位启动 串口可以接收到。cause 表示复位原因。这是正确启动模式的信息。
2022-12-23 09:26:50 2139
原创 ESP8266-C开发 2如何导入外设对应文件及GPIO16引脚使用
以GPIO16为例子(GPIO16在官网的引脚配置是找不到的)在user_config.c中调用对应头文件即可。编译下载即可,下载完成要电机复位按键哦。先放GPIO16.h到。在加入GPIO.C到。
2022-12-10 09:45:45 306
原创 ESP8266 C开发-1开发环境搭建
主要有两个东西一个是SDK包一个是开发软件IDE来源IDE去百度下载即可 入门建议安装V0.5版本,其他版本要配置开发环境,比较复杂,注意IDE安装目录不要有空格和特殊符号 ,特别是软件下载程序到这个文件D:\Program Files (x86)的同学,在配置的时候会报错。SDK包在官网下载 或者找我,我的SDK包是技小新哪儿要的注意下面是改好了文件目录,官网下载的要按照官网说明书修改文件。
2022-12-10 09:36:55 1951
原创 Linux9-VScode使用问题
好像是因为权限问题,不能直接打开了,于是我使用了 命令行启动vscode的方案。3下次启动直接输入 code就打开vscode了。
2022-11-14 14:34:54 822
原创 Linux8-加载Linux的image dtb root文件
输入boot 命令开始这些 bootcmd 配置的命令 加载image 和dtb 并自动进入根文件系统,ubuntu中的tftp 要有这些文件哦,注意我的设备树文件是imx6ull-14x14-emmc-4.3-800x480-c.dtb 下载完成 我的开发板是插的网线。1下载uboot(sd卡),进入终端编译一下emmc的uboot,使用./mx6ull_alientek_emmc.sh 编译uboot。然后使用文件传输到ubuntu中,放到刚刚烧写的目录中,我使用的是shell。
2022-11-13 22:34:32 671
原创 LINUX7-编译驱动文件时报错:cc1: error: code model kernel does not support PIC mode
make[1]: 进入目录“/home/gg/linux_mx6ull/LINUX_drv/linux-imx-4.1.15-2.1.0”make[1]: 离开目录“/home/gg/linux_mx6ull/LINUX_drv/linux-imx-4.1.15-2.1.0”修改makefile 即可,默认改为arm构架。
2022-11-11 14:06:36 1068
原创 LINUX6-VMware虚拟机和ubuntu联网问题总结
这种情况可能是主机没有关闭防火墙的原因,在防火墙的高级设置中,打开如下“文件和打印机共享”即可解决。一、在桥接模式下主机可以ping ubuntu,但ubuntu不能ping主机,要么是主机无法访问,要么是ping后没反应,可以参考上面的方案。
2022-11-09 00:17:40 556
原创 ESP8266-5-使用API获取知心天气数据
这里直接在知心天气建立一个免费项目就可以了,免费用户只返回天气现象文字、代码和气温 3 项数据。API秘钥就是代码里的key,某些版本的esp8266的固件编译报错找不到urequests模块,则需要自己去Thonny下载。首先让esp8266连接网络。然后建立main.py。写在boot就可以了。
2022-10-26 10:42:28 942
原创 ESP8266-4-云平台下发指令控制LED
由于esp8266接收数据一直是阻态(卡在这里,一直等待数据),但云服务器90内无通信就会踢掉esp8266,所以我们使用超时异常来定时发送心跳包给云平台。esp8266-3-连接物联网云平台上传数据 是相同的,我们只需要建立一个执行器即可。连接以后可以看见控制esp8266的开关了。
2022-10-25 13:41:21 912
原创 ESP8266-3-连接物联网云平台上传数据
1、连接物联网云平台需要先去http://www.nlecloud.com注册一个账号,然后进入开发者中心,新增项目即可。我们在boot.py里面加入wifi连接的代码,也可以选择不写在里面,为了后面开发都要写wifi连接,我就直接写在boot.py了。my_device = "esp8266_wang"和刚刚建立的项目数据要一样。进入项目,下发设备选择打卡实时数据进行数据查看,可以查看历史数据以及数据可视化。要记住设备标识,传输秘钥,这些都是esp8266要使用的。标识名称和单片机中代码要相同。
2022-10-25 12:15:07 3185
原创 python快速入门-14-多态,静态方法,类属性,类方法,类对象
面向对象编程有3个特征与C++一样:封装、继承、多态解释:如果一个变量存储了某一个实例对象的引用,且通过这个变量调用指向的对象中的某个方法,此时如果变量指向的对象是子类创建的那么就调用子类中的方法,如果是父类创建的对象那么就调用父类的方法。
2022-10-19 15:50:13 257
原创 python快速入门-13-对象关联、继承、重写、超级
上述代码 学生和教师对象没有任何联系,那么如何让学生属于教师呢即如何关联对象呢让多个对象进行关联。
2022-10-19 12:23:46 258
原创 python快速入门-12-面向对象-隐藏、继承
隐藏数据的作用之一可以防止通过对象直接给实例属性赋值的这种方式产生的出错比如age不应该是-的,通过设置属性为私有属性添加额外对属性操作的方法可以解决。
2022-10-17 08:38:32 201
原创 python快速入门-11-面向对象基础
具体代码例程就不写了面向过程:根据业务逻辑从上到下写代码面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程.面向对象能实现的功能,面向过程也能实现,往往程序的代码量都比较大,如果用面向过程的方式实现则代码冗余且不已升级,使用面向对象将数据与功能进行封装在中大程序开发中首先考虑使用。
2022-10-15 10:39:59 180
原创 python快速入门-10-匿名函数、递归函数
匿名函数:没有名字的函数,在Python中用lambda定义可以用一行代码完成简单的函数定义,可以当做实参快速传递到函数中去,lambda函数能接收任何数量的参数但只能返回一个表达式的值,其默认就是返回的,不用写return一般情况下对匿名函数的使用有2种方式通过lambda定义匿名函数,然后用一个变量指向这个匿名函数,然后通过变量名()调用这个匿名函数直接在调用其它函数实参的位置通过lambda定义匿名函数,会将这个匿名函数的引用当做实参进行传递。
2022-10-11 13:26:14 315
原创 python快速入门-9-函数返回值、*、**拆包、引用
如果一个函数通过return返回了一个元组、列表、集合,可以通过拆包的方式将返回值进行拆分到每个变量中,这就是返回值拆包通过函数返回值拆包,可以快速的将具体的数据用变量进行存储,这样对数据的处理会更加方便拆包时要注意,需要拆的数据的个数要与变量的个数相同,否则程序会异常。
2022-10-11 09:08:19 655
原创 python快速入门-8-函数高级用法
如果调用函数时没有传递参数,那么函数就用默认值,如果传递了参数就用传递的那个数据注意1、缺省参数只能在形参的最后(即最后侧)2、缺省参数全挨在一起(在右侧),不是缺省参数挨在一起(在左侧)
2022-10-10 16:06:34 205
原创 python快速入门-6-推导式、拆包
就是一种能够快速生成数据的方式根据最终要生成的数据,简单划分为列表推导式集合推导式字典推导式注意没有元组推导式,而是生成器。
2022-10-10 10:18:55 306
原创 python快速入门-5-元组、集合、列表、元组、集合互转、字典
定义一个元组获取元组中的元素遍历注意不能修改元组的内容number={元素1, 元素2, 元素3…}注意集合是没有下标的,而且元素没有固定排列顺序。
2022-10-09 17:37:16 310
原创 python快速入门-4-列表
定义列表的方式是[]1、用列表存储了3个学生的姓名2、用列表存储了5个分数3、用列表存储了2个分数和2个字符串和c语言差别相同点:列表和数组都能实现多个数据的存储不同点:列表可以存储不同类似的数据,而数组只能存储相同数据类型。虽然Python中的列表可以存储多个不同的数据类型,但一般情况下我们很少这么做,而是把数据类型相同的数据放到一个列表,这样操作时会更加方便,否则就会出现一会整数,一会字符串很容易出错,
2022-10-09 11:02:09 1422
原创 python快速入门-3-字符串
4、当开始位置、结束位置都没有设定时,要看步长,如果步长为正数此时开始位置理解为最左 结束位置为最右,如果步长为负数此时开始位置理解为最右 结束位置为最左。切片是指对操作的对象截取其中一部分的操作,有一个字符串"abcdef",我们可以通过切片取到"cde"切片使用规则中,要么一个冒号[开始位置:结束位置],要么两个冒号[开始位置:结束位置:步长]2、默认“步长”为1,即取完一个下标的数据之后,第二个下标的是在刚刚下标基础上+1。始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔。
2022-10-08 14:36:44 1832
原创 Python快速入门-2-语句
和c语言不同的是 不需要"{}",只需要在执行的语句前加上tab,同时在判断语句前加:即可,if结束的位置为 没有tab的语句时,例如。条件成立时,要做的事情。【tab】不能随意使用。
2022-10-08 12:01:07 80
原创 python快速入门-1-基本操作
大驼峰式命名法(Upper camel case): 每一个单字的首字母都采用大写字母,例如:、FirstNameLastName。input()的小括号中放入的是提示信息,用来在获取数据之前给用户的一个简单提示。全局变量用全部是大写,且单词之间用下划线链接的方式,例如SUM_SCORE。print(‘您刚刚输入的密码是:%s’ % password)一个函数只能输入一个数据,不能像c中scanf那样输入多个数据。input()在从键盘获取了数据以后,会存放到等号右边的变量中。
2022-10-05 21:40:08 353
原创 ESP8266-2-WIFI连接+LED控制
连接以后默认开机进行连接(默认永久连接状态,之前LED灯复位后,代码会自动删除,这个不会)3、我们让上位机发送数据给esp8266接受试试,那么接收就要使用接收的命令。1无线接入点(AP),相当于提供热点的设备,AP和AP可以相互连接。2无线终端(STA),连接到AP的装置,这个模式不允许其他设备接入。2、通信测试(开发板与PC端数据通信)可以看见已经接受到了上位机发来的数据了。4、接下来就用PC端控制开发板LED啦。1、以下是连接我的手机热点代码。可以才看到上位机接受到了数据。
2022-10-02 10:39:15 1503
原创 ESP8266-1-micropython环境搭建并点灯
本系列文章用于学习记录自己的esp8266基于micropython语言的学习,因为我一直从事的是stm32的程序开发,之前一直想找到c语言的esp8266物联网相关的开发,但一直没有找到合适的资料,同时自己打算学习python这门语言,所以选择了esp8266基于micropython语言的学习。1 下载thonny,直接去thonny官网thonny.org,下载64位的就可以了。micropython环境搭建。
2022-09-30 21:53:27 2068
原创 STM32-1-使用EmWin建立汉字库步骤(c格式)
1首先建立一个txt文档,这个文档用来输入你想要的字,然后把文档另存为UTF-16 LE的txt文档(UTF-16 LE的选择在另存为界面可以选择)3选择edit -》read pattern***,选择刚刚保存的需要文字的txt文件,这样我们要的文字就选中完成了。将这个文件加载到工程中(环境emwin+UCOSIII),然后再你的emwin项目文件中加入。GUI_FontLight24为引用的字库结构体,每个人的都不一样。设置字体与原代的是一样的 不同的是 需要加&
2022-09-15 12:08:25 1143
原创 STM32-2-UCOSIII中使用Sprintf的%f失败问题
通过一系列的百度,设定字节对齐,勾选Use MicroLIB 这些方法都无效。个人自觉告诉我会不会是程序优化问题,于是我把最高优化等级调低了一点,跑了一下防止发现是sprintf把我数据格式化错误,可以看到data 后两位非0的%f已经完全错误,完美解决最这个问题;...
2022-08-23 11:42:28 1020 1
基于51单片机的物品存放箱protues仿真
2022-10-08
STM32 使用UCOSIII系统 控制步进电机
2022-10-08
keil5+stm32使用UCOSIII+STEMWIN+显示二维码(由链接生成二维码)
2022-10-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人