- 博客(82)
- 收藏
- 关注
原创 c语言大小端判断
大小端(Endianness)是计算机系统表示多字节数据的一种方式,它决定了多字节数据的存储顺序。在计算机系统中,多字节数据(如32位或64位的整数)的存储方式有两种:大端(Big-endian)和小端(Little-endian)。为什么要区分大小端?不同的处理器和操作系统可能采用不同的端序,所以在进行数据交换时(比如网络通信或读取文件),需要知道数据的端序,以确保正确解析数据。本章主要介绍了大小端在内存中排列方式,直观的展示了大小端的格式和区别。
2025-04-02 19:56:38
642
原创 解决ubuntu18.04无法进入系统桌面
Vmware虚拟机运行跑Linux项目,没有关掉运行的进程就关机,导致系统无法进入系统桌面,一直卡在系统的初始化界面,按下快捷键发现可以正常进去系统(命令行界面),无法启动桌面到这就可以问题就解决,如果读者想要换回之前的GDM3需要按住上面的步骤相反安装GDM3,把lightdm禁用掉就可以了。
2025-04-01 23:26:01
259
原创 Python与MCU通信:串口数据采集及CSV/Excel存储方法
博主在学习nxp公司推出的(机器学习套件)时,使用官方的功能进行处理数据,但是结果不尽人意,所以在深思之后决定使用Python脚本来实现用户数据的采集,遂有此文。本章主要介绍了如何使用python的pyserial库来采集的mux的数据,这里采集的数据是muc的数据,采集IMU的三轴陀螺仪数据。
2025-02-21 18:22:22
1847
1
原创 eIQ Tookit安装
博主拿到了nxp新推出的,根据官方的资料显示这块开发板可以跑微型AI,接下来就一起体验一下这块号称可以跑微型AI的mcu吧。本章主要介绍了如何从nxp官网下载,展示了如何对其进行安装。
2025-02-10 18:00:18
1048
2
原创 HPM_SDK应用本地化——基于6750evkmini
为什么要对sdk进行应用本地化?在嵌入式开发中我们一般将官方提供的SDK作为参考,一般不会去破坏其原有的结构,那么如果不将SDK进行本地部署,在修改参数的时候会破坏SDK的结构,在下一次运行官方demo的时候就会出现问题,本文主要介绍如何基于官方的SDK之上将SDK进行本地化部署。这篇博文主要介绍了如何基于先辑的SDK隔离出本地的SDK,这样可以保证了原有的SDK没有被破坏,极大的方便了用户的开发。
2025-02-08 14:35:30
1131
原创 实验二配置web服务
开启认证式个人网站,开通至少两个用户主页,用户网页存放路径为其家目录下的web目录,访问密码为1234。软件:VMwareWorkstation16及更高版本或virtualbox6及更高版本。可通过域名访问,域名为学生姓名。硬件:处理器:Intel(R)Core(TM)i3或更高配置。系统类型:64位操作系统,基于x64的处理器或更高配置。1、按照实验要求认真完成实验有关内容并做好记录;已安装的内存(RAM):8.00GB或更高配置。3、完成实验报告,逻辑清晰,排版美观;
2025-01-19 15:05:03
455
原创 基于HPM6750实现一个UVC和MSC的符合类设备
了解HPM6750的USB协议栈 去看HPM6750的USB协议栈的源代码 尝试实现UCV(视频类的) 尝试实现MSC(存储类)(虚拟U盘) 两者进行结合UCV(视频类)UVC(USB Video Class)设备驱动程序支持JPEG帧流传输到USB主机。用户可以通过回调函数将任何设备封装成符合UVC标准的设备。MSC (USB MSC U盘)最理想的输出:板子摄像头采集到数据之后存到sd卡先跑demo然后再看理论,不要一开始就直接上理论,这个很重
2025-01-17 17:55:51
751
原创 如何制作符合自己设备的FLM下载算法
以I.MXRT1062 QSPI FLAH为例(串行qspi nor flash)什么是FLM?FLM(FLASH Loader Middeware)即闪存加载中间件,一般来说FLM下载算法不需要我们制作,因为使用Keil MDK进行开发,我们需要安装packet软件包,而这软件包就包含了FLM下载算法。当我们在keil mdk中编译好了镜像(hex 、bin、srec、elf)文件需要下载到flash当中时,首先需要选择适合您开发板的FLM下载算法。从上图可以看到我们可以选择的下载算法有
2025-01-16 17:42:26
762
原创 hpm使用笔记——使用usb作为从机接收来自上位机的数据然后通过spi主机发送给spi从机
例程demo USB-CDC 作为从机接收,然后把接收到的数据转发给SPI,SPI传输出去。串口13接收数据然后发送给spi spi 主机转发,从机接收。确定使用cherryusb协议栈进行开发(轻量化)从sdk中构建usb cdc 虚拟串口历程。虚拟的串口接收来自上位机的数据,然后通过。USB使用cherry协议栈进行开发。cherryusb 虚拟串口测试。使用历程中的spi协议进行测试。–> 虚拟串口 然后通过。主机\从机—>进行发送。
2025-01-07 14:19:30
390
1
原创 使用python将keil MDK生成的bin文件转为c语言的数组
笔者最近在做一个ISP给程序升级的小demo,需要用用到bin文件,众所周知.bin文件不可以直接在程序中直接发送,因此需要将.bin文件转为c语言的数组,然后再将程序中通过发送数组的形式来将我们的.bin文件发送给单片机。
2024-10-24 15:45:06
444
1
原创 Keil MKD5常用软件包下载地址
这里是keil mdk常用软件包的下载地址。点击即可实现下载,因为要去下载的时候老是找不到相应的下载地址,故这里做一个记录。(包含了STM32常用软件包、GD32软件包、NXP RT系列常用软件包)
2024-07-30 22:40:14
531
1
原创 解决Android Studio Unexpected tokens (use ; to separate expressions on the same line)
这个是在jitpack里面找到的依赖。点击后面就可以导入自己需要的依赖了。
2023-11-12 13:45:08
16706
5
原创 Android MQTT连接阿里云使用Json解析数据
这里有两种方法:这里先介绍第一种方法:切换到Android目录:按照如下图,添加依赖即可:第二种方法:打开AndroidStudio然后切换到Android目录找到Lib文件夹,将MQTT的JAR包复制进去即可。然后点击project目录然后将MQTTJAR包导进去添加完成之后作为库导入工程中在MainActivity任取一个地方输入MQTT看是否有提示弹窗。到这里以及成功一半了。接下来就是设置一些权限问题切换到按的Android目录找到如下的目录:添加如代
2023-10-21 13:45:50
5169
10
原创 嵌入式C常用关键字解析
作用:告诉编译器,该质量是易变的不要优化,在arm架构中经常遇到。int *const p 指针常量 这里不能p++int const *p 这里的的(*p)++是错的。作用:限定一个变量不被允许被改变,提高程序的健壮性。生命周期:函数--->程序(数据段)总结:const离谁近谁就不允许修改。作用域:整个工程----->本模块。作用域:整个工程----->本模块。本质:给编译器看,在编译阶段起作用。
2023-07-26 12:03:18
349
原创 解决 cannot execute binary file: Exec format error
"cannot execute binary file: Exec format error" 错误通常发生在尝试执行一个不兼容的二进制文件时。这可能是因为你正在尝试运行一个不同体系结构的可执行文件,或者文件本身可能已经损坏。我在qmake修改的时候不小心安装了x86架构的编译器无法编译arm架构的。我这里的解决方法是重新安装如何指定qmake的路径即可。安装完交叉编译器一定要记得使用source 命令去使能。指令格式为:source + 交叉编译器的安装路径。后面就可以愉快的编译+烧录了。
2023-07-25 11:48:16
34772
1
原创 解决QT 编译qmake 无法找到问题
其实ubuntu已经给提示了就是要安装qtchooser。原因是我们新安装没有建立与QT的软链接。要注意的是大家的路径要对!这个错误提示指出在当前环境中找不到。建立软链接之后要重启!接下来就可以愉快的CV啦。再次验证:qmake。
2023-07-24 14:58:29
5485
原创 Linux QT通过NFS挂载到Linux开发板上
网络文件系统,英文NetworkFileSystem(NFS),是由SUN公司研制的UNIX表示层协议(presentationlayerprotocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。我们可以在Ubuntu上制作开发板的根文件系统,然后使用NFS来加载根文件系统到开发板的DDR上。
2023-07-23 21:41:03
829
1
原创 Linux下挂载NFS服务
网络文件系统,英文,是由SUN公司研制的UNIX表示层协议,能使使用者访问网络上别处的文件就像在使用自己的计算机一样。我们可以在Ubuntu上制作开发板的根文件系统,然后使用NFS来加载根文件系统到开发板的DDR上安装NFS服务在Ubuntu终端执行以下指令安装NFSNFS共享目录配置NFS服务执行以下指令打开文件进入文件,在最后添加如下内容表示NFS共享的目录表示允许所有的网络段访问rw表示访问者具有可读写权限sync。
2023-07-16 14:36:55
1126
原创 解决Ubuntu下arm-none-linux-gnueabihf-gcc -v :未找到命令
命令执行脚本文件通常用于加载环境变量、设置别名、定义函数或引入其他重要的配置文件。这样,脚本中所做的更改将直接应用到当前的 shell 环境中,而不仅仅限于子进程。命令用于在当前 shell 进程中执行指定脚本文件的内容。它的作用是将脚本文件中的命令按顺序在当前环境中逐行执行,就好像直接输入这些命令一样。命令用于读取并执行脚本文件的内容,而不是在新的子进程中执行它。这与使用其他方式执行脚本的区别在于,通过。命令执行的脚本中定义的变量、函数以及其他环境设置会影响当前的 shell 环境。在 Linux 中,
2023-07-12 14:37:26
2669
1
转载 Qt Creator 的使用技巧
步骤如下:在“环境”项下找到键盘,如图,⑤处,切换书签的快捷键,“Ctrl + M”显示红色,说明是与系统的快捷键冲突了。我们可以选中这项,按⑥处“Record”重新记录切换书签的快捷键。再点击“Apply”和“OK”即可。有些命令还没有定义快捷键,如果我们希望使用这个命令使用快捷键,那么我们也可以按如下步骤记录自定义我们的快捷键即可,注意不要与系统的快捷键重复。
2023-05-09 20:09:57
933
原创 QT报错与解决
19:16:56: 无法启动进程"make" -f /home/xiao/QT/build-First_Project-Desktop_Qt_5_12_9_GCC_64bit-Debug/Makefile qmake_all。
2023-05-09 19:24:56
1173
1
原创 Android学习Day1
Android学习笔记了解Android 的结构ActivityAndroid中的布局了解安卓的结构ActivityAndroid中的布局代码展示(登录界面的实现):实现效果:代码展示(注册界面的实现)实现效果一些之前学习的笔记end了解Android 的结构ActivityAndroid中的布局了解安卓的结构minSdkVersion:最小APIlevel兼容设备的API不指定的话默认是1兼容所有设备,我们的设备低于API就不可以安装我们的APPcompieSdkVersion:编译的SDK
2023-04-20 08:16:21
605
原创 解决CentOS发布个人web服务器页面不显示问题
我改web服务器的数据保存位置,但是还是显示原来的界面,这是为什么?在网上找了很多教程,都没解决问题,位置都没有写错。进一步分析,原来是创建的时候权限没给够。出现的界面如下,这也不是我想要的界面?所以大家在创建的时候权限要给得够。这样就给它最大权限了。
2023-04-16 16:44:30
364
原创 Android JSON数据解析
学习Android一个星期多了,数据的解析一直没处理好,问题在于对JSO了解不够,特别是多层JSON的嵌套,今天记录一下解决的过程。
2023-04-13 21:09:33
304
2
原创 Linux体检系统的实现(记录我的大作业)
好啦 步入正题原理啥的我就不介绍了 知道你们不想看 所以嘛还是直接上代码比较合适1、基本功能`\``\`
2022-12-21 21:16:01
411
3
原创 Python实验一 : 利用从键盘输入的字典数据来计算三角形面积。三角形的顶点被存储在一个字典中。字典中的键对应顶点编号(1、2或3),而值则是顶点x、y坐标构成的二元组。
实验要求:利用从键盘输入的字典数据来计算三角形面积。三角形的顶点被存储在一个字典中。字典中的键对应顶点编号(1、2或3),而值则是顶点x、y坐标构成的二元组。例如,顶点为(0,0)、(1,0)和(0,2)的三角形可用字典vertices表示为:输入三个顶点数据并打印输出三角形的面积。代码还是有瑕疵的欢迎大家批评指正。
2022-11-01 21:00:40
646
2
原创 Python实验一基本数据类型针对用元组创建的5*5矩阵,格式化分行输出元素并分别计算两个主对角线元素之和;
又到了自闭环节了,做个实验报告差点自闭,自己写的真的是很长的代码才实现,加油吧这个根据参考网上大佬的方法进行了一些优化,在这里给大家提供参考。
2022-11-01 00:15:49
1493
原创 STM32TIM定时器输出比较——PWM实现呼吸灯
1、(Outout Compar输出比较2、输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形3、每个高级定时器和通用定时器都拥有4个输出比较通道4、高级定时器的前3个通道额外拥有死区生成和互补输出的功能。
2022-10-24 18:06:28
1353
原创 STM32定时器详解——TIM详解
1、TIM (Timer)定时器2、定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断3、16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时4、钟下可以实现最大59.65s的定时5、不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能6、根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型。
2022-10-24 15:16:57
8436
1
原创 串口实战示例——数据发送接收
我们发送你好小白给单片机然后单片机会返回我们发送的数据给我们。/* 注释乱码是因为文本的格式没有选对*/串口的理论部分我们就不讲了。首先是我们的usart.c文件。自己在keil5中选就可以了。选择UTF-8格式即可。
2022-10-23 11:18:52
777
原创 第一章:字面量
name ="传智播客"setup_year = 2006stock_price = 19.99message = "%s,成立于:%d,我今天的股价是:%f" %(name,setup_year,stock_price)Python中,其实支持非常多的数据类型占位最常用的是如下三类格式符号转化% 将内容转换成字符串,放入占位位置% d将内容转换成整数,放入占位位置% f将内容转换成浮点型,放入占位位置。●变量的名字●方法的名字●类的名字,等等这些名字,我们把它统一的称之为标识符,用来做内容的标识。
2022-10-16 21:44:29
408
原创 STM32HAL库——EXTI外部中断小结
在STM32中,绝大多数事件是不可见的,但是事件几乎都与中断功能绑定在一起。所以通常我们会开启中断的功能,来使用相应的事件。在STM 32中,绝大多数事件是不可见的,但是事件几乎都与中断功能绑定在一起.所以通常我们会开启中断的功能,来使用相应的事件。.STM32上许许多多的外设,是通过内部信号来协同工作的这个信号,可以理解为事件。EXTI捕获到了事件后,还可以生成相应的EXTI中断及等等的一些中断。有些事件是可见的,有些事件是不可见的。事件---->中断事件---->事件。到这里我们的工程配置结束。
2022-10-16 14:43:33
2828
原创 RT-Thread潘多拉,按键的使用 Day2
线程创建成功后返回值为RT_EOK,创建失败则返回-RT_ERROR,当线程创建成功后,我们启动该线程,让该线程进入就绪态。然后在主函数main()中调用我们的函数名app_key_init()再对我们的工程进行编译。引脚外部接 10k 上拉电阻。KEY0 按键按下为低电平,松开为高电平。在appclication文件夹下编写我们的app_key.c源文件。当我们按下按键的时候串口会打印相应的值。对我们的代码进行修改。
2022-10-08 12:12:03
942
原创 RT-Thread实战HelloWord Day1
接下来就可以对工程进行编译和打开串口进行信息的读取了。点击文件然后新建一个新的工程,我这里取名为1。双击我们的RT-ThreadStudio。选择我们的开发板,我这里是潘多拉开发板。在右边我们就可以看到我们的新建项目了。编译没有错误之后烧录进去。没有错误之后就可以了。
2022-10-08 09:24:09
424
原创 RT-Thread 潘多拉开发板aht10采集温湿度LCD显示温湿度
RT-Thread学习,看完了好多视频,但是但是理论上的知识,还没有自己动手实践出来刚好手里还有之前电赛的时候,买的潘多拉开发板,一直想跟着学习,但是时间太少,今天腾出时间来学一下,不能让板子吃灰,不过下载好板子的资料之后,发现不知道要从哪开始下手(有点尴尬哈)好了废话不多说,开始上代码吧。
2022-10-07 20:42:32
1883
1
转载 STM32_HAL新建工程
要使用cube_MX工具要有Java的运行环境,Java的环境配置这里不做介绍,详请参考其他博主的文章。1、我们可以到ST公司的官网进行下载参考网址:www.st.com或者是:https: / / www.st.com/zh/development-tools / stm32cubeide.html2、这个是博主整理好的百度云盘链接链接:https://pan.baidu.com/s/1vBXXtTLTD-g0qBdEbUg5gg提取码:6666。...............
2022-08-30 17:52:34
407
原创 STM32外部中断EXTI使用小结
首先我们先来介绍一下什么是中断:1、在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行(简单来说就是我们的单片机在运行程序时遇到一个事件,停止当前事件去执行另一个事件的过程就叫中断)2、中断优先级:当有多个中断源同时申请中断时,CPU会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中断源3、中断嵌套∶当一个中断程序正在运行时,又有新的更高优先级的中断源申请中断,CPU再次暂停当前中断程序,转而去处理新的中断
2022-07-07 22:38:58
231
原创 思科模拟器Cisco Packet Tracer的下载与安装
关于这个软件博主在网上找了很多资源,但是发现在安装过程中都出现了各种bug,现在进行整理一下,希望可以帮助到更多得小伙伴。1.软件的下载:大家可以自己去思科官网进行下载参考连接:Cisco Packet Tracer - Networking Simulation Tool (netacad.com)第二个是博主自己整理好的百度云的连接:软件的安装教程:找到事先下载好的软件安装包然后点击我们的安装包进行安装(本次我们运行的Windows10-64位操作系统)Windows-3
2022-02-24 23:39:59
190652
29
原创 STM32F103库函数配置(实操)
第一部分:新建库函数文件夹我们在新建的文件夹里面要新建四个子文件夹分别是libraries文件夹和user文件夹和project和output文件夹我们在STARTUP里面添加一个启动文件...
2022-02-22 01:16:47
2101
基于物联网技术的自动灌溉系统的设计与实现
2025-01-21
使用Keil MDK编程STM32外部闪存的详细教程
2024-11-14
基于esp32和stm32智慧窗帘的设计与实现
2024-11-03
嵌入式:安全监测与预警系统的设计与实现参考资源
2024-11-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人