自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 STM32 串口采用DMA方式收发_if(buffer) memcpy((1)

流程:串口发送数据,全部数据发送完毕后,会产生一个发送中断,所以。9)使能或关闭DMA通道的内存到内存传输。2)定义DMA通道的DMA缓存的大小。对应我的例子,就是送快递还是取快递。ps: 即货柜大小,能存多少个快件。1) 串口初始化 — 使用串口一。1)数据传输的目的地和来源。3)外设地址寄存器递增与否。4)内存地址寄存器递增与否。7)设置了DMA的工作模式。8)DMA通道的软件优先级。5)设定了外设数据宽度。6)设定了内存数据宽度。发送数据分为两部分,

2024-05-17 08:54:21 318

原创 STM32 SPI详解

关于SPI从设备,在空闲的时候,是高电平还是低电平,即决定了CPOL是0还是1;然后再找到关于设备是在上升沿还是下降沿去采样数据,这样就是,在定了CPOL的值的前提下,对应着可以推算出CPHA是0还是1了。2.可配置的,由软件自己设定从设备也是一个SPI控制器,4种模式都支持,此时只要自己设置为某种模式即可。然后知道了从设备的模式后,再去将SPI主设备的模式,设置为和从设备模式一样,即可。

2024-05-17 08:53:47 358

原创 STM32 IAP 串口在线升级源码详解_stm32 iap串口升级

接下来修改配置,起始地址设置为0x8002000,大小我就随便设了个,够用又不超出rom范围。主函数添加地址偏移:上面我们设置的地址大小为0x2000,所以地址偏量设置为0x2000。编译过后就可以使用SecureCRT软件进行下载了:(安装部分资源包内有详细说明)点击键盘数字3便可运行流水灯程序。官网例程本人研究的还不明白…由于本人在HAL库没有找到对应的函数,所以使用了第一种方法。配置好后点击下一步:芯片复位会接受到如下数据。生成.BIN文件配置,详细说明请参考博文。鸟或是对IT行业感兴趣的新人**

2024-05-17 08:53:12 271

原创 pyqt事件循环_pyqt qeventloop

类似的,一个函数被称为可重入的,如果该函数允许多个线程在同一时刻调用,而每一次的调用都只能使用其独有的数据。全局变量就不是函数独有的数据,而是共享的。这是事件与信号的一个很大区别:事件总是由某一种类型的对象表示,针对某一个特殊的对象,而信号则没有这种目标对象。这也正是select(2)系统调用所做的:它监视窗口活动的一组描述符,如果在一定时间内没有活动,它会发出超时消息(这种超时是可配置的)。Qt 所要做的,就是把select()的返回值转换成一个合适的QEvent子类的对象,然后将其放入事件队列。

2024-05-17 05:25:14 929

原创 GD32F103学习笔记(7)——USART串口使用_gd32 uart作为调试口,还可以串口接收吗(1)

STM32F103RCT6 系统控制器有三个 USART 和两个 UART,其中 USART0 时钟来源于 APB2 总线时钟,其最大频率为 108MHz,其他四个的时钟来源于 APB1 总线时钟,其最大频率为 54MHz。这里把串口的 Tx 引脚配置为复用推挽输出,Rx 引脚为浮空输入,数据完全由外部输入决定。接下来,我们配置 USART0 通信参数为:波特率 115200,字长为 8,1 个停止位,没有校验位,不使用硬件流控制,收发一体工作模式,然后调用 USART 初始化函数完成配置。

2024-05-17 01:46:54 362

原创 GCC 编译 C(C++)静态链接库(gcc -L、gcc -l)和动态链接库

gcc -fpic -shared 源文件名…ar rcs 静态链接库名称 目标文件1 目标文件2 …

2024-05-17 01:46:19 343

原创 GCC 编译 C(C++)静态链接库(gcc -L、gcc -l)和动态链接库(3)

gcc -fpic -shared 源文件名…ar rcs 静态链接库名称 目标文件1 目标文件2 …

2024-05-17 01:45:46 306

原创 GCC 编译 C(C++)静态链接库(gcc -L、gcc -l)和动态链接库(2)

编译器会将对应的动态链接库一同加载在内存中,由于可执行文件中事先记录了所需功能模块的位置信息,所以在现有动态链接库的支持下,也可以成功运行。和静态链接库不同,采用动态链接库实现链接操作时,程序文件中哪里需要库文件的功能模块,和使用静态链接库生成的可执行文件相比,动态链接库生成的可执行文件的体积更小,因为其内部不会被复制一堆冗余的代码。静态链接库的使用很简单,就是在程序的链接阶段,将静态链接库和其他目标文件一起执行链接操作,从而生成可执行文件。显然,这样生成的可执行文件是无法独立运行的。

2024-05-17 01:45:12 298

原创 github_根据文件内容 文件名搜索文件_github 仓库搜索特定字符串的文件(3)

路径引号根据路径中是否含有空格来决定是否可以不加,但是建议总是加上,就不用考虑了。您可以打开特定的仓库,点击go to file,输入文件名(支持模糊搜索)是正从事IT行业的老鸟或是对IT行业感兴趣的新人**filename:和extension:十分相似。在指定路径中搜索包含指定内容的文件。

2024-05-17 00:25:35 292

原创 github_根据文件内容 文件名搜索文件_github 仓库搜索特定字符串的文件(2)

路径引号根据路径中是否含有空格来决定是否可以不加,但是建议总是加上,就不用考虑了。正从事IT行业的老鸟或是对IT行业感兴趣的新人**在指定路径中搜索包含指定内容的文件。

2024-05-17 00:25:02 288

原创 github_根据文件内容 文件名搜索文件_github 仓库搜索特定字符串的文件(1)

路径引号根据路径中是否含有空格来决定是否可以不加,但是建议总是加上,就不用考虑了。是正从事IT行业的老鸟或是对IT行业感兴趣的新人**在指定路径中搜索包含指定内容的文件。

2024-05-17 00:24:28 403

原创 GitHub 上有哪些适合新手跟进的优质项目?_github抖音机器人

XSStrike是一个Cross Site Scripting检测套件,配备四个手写解析器,一个智能有效载荷生成器,一个强大的模糊引擎和一个非常快速的爬虫。在电影中,这段配乐出现的场景,是两名队员在基地外面的大草原上晨跑。有时候看到Google上精美的图片,却下载不了,现在可以用这个实现搜索和下载数百个Google图像的Python脚本到本地。是个基于dlib的换脸程序。它提供了最大的设计灵活性,丰富的已验证的工具和功能。总结了2019年最新的阿里,腾讯,百度,美团,头条等技术面试题目以及答案,分析汇总。

2024-05-17 00:23:53 263

原创 CAN报文的打包与解包及代码自动生成_can信号的车速分辨率

学汽车电子的同学可能都无法逃过CAN总线这道坎,我个人认为入门CAN总线是学习汽车电子的第一课。如何根据信号对CAN信号进行打包和如何根据CAN协议对数据进行解包,是在实践中必须解决的问题,得不到CAN线上的数据,说啥都是白扯。写这篇博客的目的是因为自己在前期对CAN通信矩阵的理解不到位,比如摩托罗拉编码和因特尔编码在CAN矩阵中的形式。

2024-05-16 20:47:29 1019

原创 CAN总线错误分析与解决_can总线的错误帧,应用层要处理吗

CAN节点发送数据不成功,首先分析是不是CAN控制器本身的问题,查看CPU中的CAN core的状态寄存器,分析是否有BUS OFF, 如果存在BUS OFF, 则进一步查看具体的错误信息,是主动的错误还是被动的错,发送错误计数有没有超限,最后一次发生的错误状态是什么,查看是位填充错误还是格式错误等其他错误,然后具体问题具体分析。这种错误一般是有硬件发送线路出现问题引起,例如光隔次边不导通,发送接口接触不良等,再则是一些奇葩的错误,例如本例,收发线直接接反了,坑爹啊!

2024-05-16 20:46:55 786

原创 CAN总线错误分析与解决_can总线的错误帧,应用层要处理吗 (1)

CAN节点发送数据不成功,首先分析是不是CAN控制器本身的问题,查看CPU中的CAN core的状态寄存器,分析是否有BUS OFF, 如果存在BUS OFF, 则进一步查看具体的错误信息,是主动的错误还是被动的错,发送错误计数有没有超限,最后一次发生的错误状态是什么,查看是位填充错误还是格式错误等其他错误,然后具体问题具体分析。这种错误一般是有硬件发送线路出现问题引起,例如光隔次边不导通,发送接口接触不良等,再则是一些奇葩的错误,例如本例,收发线直接接反了,坑爹啊!

2024-05-16 20:46:20 746

原创 C C++学习路线总结与分享

下面就来详细介绍一下微软的MFC库、跨平台的QT库、开源的duilib库以及Chromium浏览器的UI库。10.2.1、MFC库收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。如果你需要这些资料,可以戳这里获取需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人。

2024-05-16 15:45:20 238

原创 C C++学习路线总结与分享(1)

下面就来详细介绍一下微软的MFC库、跨平台的QT库、开源的duilib库以及Chromium浏览器的UI库。10.2.1、MFC库MFC是微软的IDE开发环境Visual Studio自带的界面库,原生的MFC界面比较简陋,界面效果很一般。MFC是个很古老的库,虽然Visual Studio更新了很多代,但MFC库始终维持在多年前的效果上,基本没有做任何升级和改进。**平时我们会使用MFC库去开发一些小的工具软件,工具软件的界面比较简单,不用做专门的美化,用MFC即可快速地实现。

2024-05-16 15:44:45 214

原创 C C++基础面试试题大全_c++面试题基础

【代码】C C++基础面试试题大全_c++面试题基础。

2024-05-16 15:44:11 262

原创 C C++基础面试试题大全_c++面试题基础(1)

(A) : (B))对MIN(*p++, b)的有什么后果?static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用。(2)注意,因为mian函数是整个程序的入口,所以mian是不能有重载的,所以,如果一个程序只。(1)如果是要你的代码在编译时发现编译器类型,就判断_cplusplus或_STDC_宏。2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被。3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。

2024-05-16 15:43:36 385

原创 20年21年嵌入式校招薪资大曝光!!!_嵌入式技术应用就业工资

T0级别40W行列,保证工资绝对令人心动的公司,非大疆莫属,轻轻松松可以达到40W,并且深圳、上海、西安都有岗位,拿这么份薪水在西安待着,吃着凉皮肉夹馍喝着冰峰他不香嘛?一是华为、vivo、oppo、小米、中兴等手机厂,二是兆易创新、紫光展锐、豪威科技、乐鑫、全志、汇顶等芯片厂;嵌入式软件工程师,相比较传统的程序猿来说,更多的需要和硬件打交道,需求产生价值,所以招聘嵌入式软件工程师的企业都是有着硬件业务的。论秋招待遇的话,同样是程序猿,嵌入式比隔壁互联网的工资水平是要低那么一点点的。

2024-05-16 12:42:40 334

原创 20年21年嵌入式校招薪资大曝光!!!_嵌入式技术应用就业工资(1)

T0级别40W行列,保证工资绝对令人心动的公司,非大疆莫属,轻轻松松可以达到40W,并且深圳、上海、西安都有岗位,拿这么份薪水在西安待着,吃着凉皮肉夹馍喝着冰峰他不香嘛?T1级别30W-40W行列,TP-LINK ,蓝绿厂vivo,oppo,乐鑫,这里需要提一点,TP-LINK是对学历要求比较高的,985待遇就挺好,C9更好,但是这同样也就造成了不可避免的内卷。嵌入式软件工程师,相比较传统的程序猿来说,更多的需要和硬件打交道,需求产生价值,所以招聘嵌入式软件工程师的企业都是有着硬件业务的。

2024-05-16 12:42:06 225

原创 2024华为OD机试真题目录 B+C+D卷,使用C语言进行解答(484道)_od机试题

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。如果你需要这些资料,可以戳这里获取需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!54、统一限载货物数最小值 | 机试真题+思路参考+代码解析55、模拟商场优惠打折II | 机试真题

2024-05-16 12:41:31 264

原创 2024华为OD机试真题目录 B+C+D卷,使用C语言进行解答(484道)_od机试题(2)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)如果你需要这些资料,可以戳这里获取39、密钥格式化 | 机试真题+思路参考+代码解析40、数字字符串组合倒序 | 机试真题+思路参考+代码解析41、查找接口成功率最优时

2024-05-16 12:40:55 250

原创 STM32f4日记5之AB相编码器测速实验(TIM定时器的编码器模式使用)_stm32编码器ab相计数

最重要的是这个函数TIM_EncoderInterfaceConfig(TIM4,TIM_EncoderMode_TI12,TIM_ICPolarity_Rising,TIM_ICPolarity_Rising );Count = (u32)(Current_Count - Previous_Count + (Enc_Timer_Overflow_one) * (4乘以ENCODER_PPR-4));3.重要备注:当定时器检测到一个正向脉冲计数值**+1!TIM4配置编码器模式来实现对AB相编码器的处理。

2024-05-16 01:11:04 389

原创 STM32F103控制舵机

最后,最关键的来了,如何使用呢?修改定时器下某一个通道的函数,TIM_SetCompare1(TIM4, 500);注意:修改哪一个通道的占空比,就要把那个数字1修改为几。系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**

2024-05-16 01:10:30 340

原创 STM32F103控制舵机(1)

/此处就看你舵机性能了,连续动作时,如果能反应过来,就不用加延时了,自己实践找规律吧。//其它舵机也是一样的,TIM_SetCompareX(TIM4,Compare);/*初始化此处省略*/

2024-05-16 01:09:56 396

原创 STM32F103中断串口通信USART_stm32f103串口中断

本文基于笔者之前的博客STM32F103串口通信USART小试牛刀,在此基础上,加上中断函数,并补充HAL函数实现。

2024-05-16 01:09:21 536

原创 Debian 10 安装与配置_debian10是什么

其实这里也可以使用另外一种解决方式。你可以重新使用 U 盘引导然后开一个终端执行重新安装。这之后重启电脑,这时你可能会看到熟悉的界面,里面既有的启动项也有的启动项。选择你要进入的系统即可!这次安装的过程中并没有遇到引导的问题。这一方面需要归功于自动检测硬盘中其它系统并添加启动项的功能,另一方面也要归功于引导方式。与分区表让安装多个系统变得非常简单,而使用与,安装一个多系统非常困难,甚至在一些情况下完全不能实现!不过如果你有较长时间的双系统使用经验,你会发现你经常只会使用其中的一个系统,对我来说它就是了!

2024-05-15 22:58:26 895

原创 DataSheet专业名词解读——每天10个专业名词(1)23

具有148个中断向量的中断控制器(INTC),其中包括16个外部中断源和18个外部中断/唤醒源。

2024-05-15 22:57:52 657

原创 C语言经典面试题_c语言面试题库

struct st1/*字段a占用了一个字节的7个bit*//*字段b占用了2个bit*//*字段c占用了7个bit*/}s1;sizeof(s1)等于3。因为一个位域字段必须存储在其位域类型的一个单元所占空间中,不能横跨两个该位域类型的单元。也就是说,当某个位域字段正处于两个该位域类型的单元中间时,只使用第二个单元,第一个单元剩余的bit位置补(pad)0。于是可知Sizeof(s2)等于3*sizeof(int)即12struct st2。

2024-05-15 22:57:17 1008

原创 C语言经典面试题 与 C语言面试宝典_c语言面是题目

endifextern "C"的使用方式1. 可以是单一语句2. 可以是复合语句, 相当于复合语句中的声明都加了extern “C”extern “C”3.可以包含头文件,相当于头文件中的声明都加了extern"C"extern “C”#include4. 不可以将extern"C" 添加在函数内部5. 如果函数有多个声明,可以都加extern"C", 也可以只出现在第一次声明中,后面的声明会接受第一个链接指示符的规则。

2024-05-15 22:56:41 230

原创 【嵌入式系统】独立看门狗原理+看门狗实验分析_iwdg工作原理图(1)

4×2Pre×RLRfLSI图3 IWDG主要寄存器。

2024-05-15 01:48:23 570

原创 【嵌入式】Docker镜像构建指南:引领应用部署的革新之路_嵌入式容器化部署应用程序

通过本文的探索,我们更深入地了解了Docker技术,并对其在软件开发和部署中的价值有了更清晰的认识。Docker的出现为应用程序的开发、部署和管理带来了革命性的变化,相信在未来,它将继续发挥重要作用,推动软件开发和部署的进步。收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。如果你需要这些资料,可以戳这里获取一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人。

2024-05-15 01:47:46 962

原创 【嵌入式】Docker镜像构建指南:引领应用部署的革新之路_嵌入式容器化部署应用程序(3)

构建镜像的过程中,Docker将执行Dockerfile中指定的每个步骤,包括基础镜像的拉取、文件的复制、环境变量的设置等。最终,我们会获得一个包含指定应用程序和配置的Docker镜像,可以将其推送到Docker Hub或阿里云等镜像仓库中,也可以在本地使用。待云端初始化完成并创建镜像之后,我们就可以将上一章中创建的docker镜像上传到阿里云存储下来,以备其它机器拉取使用了。本章,我们以阿里云的Docker镜像服务为例,讲述如何其使用方法,包括平台初始化和镜像创建等操作。命令查看镜像列表了。

2024-05-15 01:47:09 908

原创 【嵌入式】Docker镜像构建指南:引领应用部署的革新之路_嵌入式容器化部署应用程序(2)

通过本文的探索,我们更深入地了解了Docker技术,并对其在软件开发和部署中的价值有了更清晰的认识。Docker的出现为应用程序的开发、部署和管理带来了革命性的变化,相信在未来,它将继续发挥重要作用,推动软件开发和部署的进步。收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。如果你需要这些资料,可以戳这里获取一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人。

2024-05-15 01:46:28 803

原创 51单片机项目(8)——基于51单片机的DS1302时钟系统_51单面机最小系统ds1302电子网

通过与微控制器的通信接口,可以轻松地读取和设置DS1302芯片中的时间和日期。需要注意的是,DS1302芯片的协议是特定于该芯片的,与其他RTC芯片或存储器芯片的通信协议可能不同。因此,在使用DS1302芯片时,应仔细查阅其相关的数据手册以了解具体的通信细节和命令格式。实时时钟功能:DS1302芯片能够提供准确的年、月、日、时、分、秒的时间信息,并通过单片机的控制可以实时更新和维护时间。写入保护命令(Write Protect Command):用于写入DS1302芯片的保护位,防止对特定寄存器的误操作。

2024-05-14 16:08:32 856

原创 51单片机项目(8)——基于51单片机的DS1302时钟系统_51单面机最小系统ds1302电子网(2)

需要注意的是,DS1302芯片的协议是特定于该芯片的,与其他RTC芯片或存储器芯片的通信协议可能不同。它提供了准确的时间信息,并具有稳定的性能和低功耗的特点,为这些应用提供了可靠的时间基准和时序控制功能。实时时钟功能:DS1302芯片能够提供准确的年、月、日、时、分、秒的时间信息,并通过单片机的控制可以实时更新和维护时间。方便的集成和控制:基于单片机的DS1302时钟可以与各种类型的单片机和微控制器集成,并通过简单的串行通信协议实现与芯片的交互。DS1302芯片使用的是简单的串行通信协议。

2024-05-14 16:07:52 245

原创 51单片机项目(8)——基于51单片机的DS1302时钟系统_51单面机最小系统ds1302电子网(1)

需要注意的是,DS1302芯片的协议是特定于该芯片的,与其他RTC芯片或存储器芯片的通信协议可能不同。DS1302协议采用了3线制的串行通信方式,包括时钟线(CLK)、数据线(DATA)和使能线(RST)。通过写入特定的控制寄存器位来控制时钟的开关。DS1302是一款低功耗实时时钟(RTC)芯片,它能够提供年、月、日、时、分、秒的时间信息,并可以通过微控制器(如单片机)进行控制和读取。写入保护命令(Write Protect Command):用于写入DS1302芯片的保护位,防止对特定寄存器的误操作。

2024-05-14 16:06:48 267

原创 2024年物联网嵌入式最新termios 详解,2024年最新面试必会

ECHOCTL :(不属于 POSIX) 如果同时设置了 ECHO,除了 TAB,NL, START, 和 STOP 之外的 ASCII 控制信号被回显为 ^X, 这里 X 是比控制信号大 0x40 的 ASCII 码。* VERASE :(0177, DEL, rubout, or 010, BS, Ctrl-H, or also#) 删除字符。允许使用特殊字符EOF, EOL, EOL2, ERASE, KILL, LNEXT, REPRINT, STATUS, 和WERASE,以及按行的缓冲。

2024-05-14 12:17:51 672

原创 2024年物联网嵌入式最新STM32(三)C语言基础复习_extern void input(1),2024年最新分享一点面试小经验

define 是 C 语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提供方便。常见的格式:#define 标识符 字符串“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。

2024-05-14 12:17:11 820

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除