- 博客(142)
- 资源 (6)
- 收藏
- 关注
原创 【Autosar】学习总结-MCAL
一、简介MCAL:微控制器抽象层;位于BSW层中的最下层;MCAL细分,可将驱动分为:微控制器驱动、存储器驱动、通信驱动、IO驱动:二、MCAL的配置(EB-Tresos)1.PORT我理解的PORT:MCAL层中的IO驱动组中的pin脚总体配置:Port就是芯片上的每个pin脚,可以配置成DIO ADC PWM ICU等单引脚的功能,也能配置成CAN的TX或者RX、SPI的MOSI等等其他功能的单个pin脚功能;总之,PORT就是芯片上的具体的某个引脚。配置
2022-03-17 20:28:46
31019
19
原创 【PWM】从stm32到pwm到OLED屏幕调光到晚上不要玩手机
一、前言最近做项目,配置了单片机中PWM波形输出,配置单片机中的一个引脚输出PWM波,示波器查看这个波形,做了实践操作,有一些感想,将一些了解过的知识和常识结合,包括pwm、stm32单片机、引脚、手机屏幕调光、OLED特性、相机快门时间....等,串在了一起。故有感而发,做个记录。二、pwm、单片机中的pwm1.pwm:脉宽调制这个脉宽调制,第一次差的时候真的是读了很多遍也不理解(软工出身 硬件实在是不太懂...咳咳)2.stm32中的pwm:第一次了解是学习单片机看.
2022-03-14 03:21:56
9773
7
原创 【Autosar】学习总结-BSW层
二、AutoSar架构分层架构三、MCAL四、BSW五、RTE六、SWC七、开发工具1.劳特巴赫 (Lauterbach ):用来调试2.vector DaVinci Developer --设计SWC的图形界面工具3.vector DaVinci Configurator Pro ...
2022-03-01 21:24:16
33391
30
原创 【2021】总结
大概是从2017年开始吧,每年临近年末,就养成了回顾一整年做记录的习惯2019是学习的一年,最后的学校时光,2020是奔波的一年,从学校到社,复习、找工作、实习、工作、生活。2021就是两个字:工作。所有事情都围绕着工作二字展开。...
2022-02-21 19:52:30
594
原创 【刷题】进制转换 leecode.405(10进制int转16进制字符串) 、 华为机试HJ5(16进制字符串转10进制int)
405. 数字转换为十六进制数 简单题给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用补码运算方法。注意:十六进制中所有字母(a-f)都必须是小写。十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符'0'来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。给定的数确保在32位有符号整数范围内。不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法。来源:力扣(LeetCode)链接:https://lee...
2021-10-23 12:38:33
344
原创 leecode 贪心
leecode.455发放饼干 简单题目:思路:用最小尺寸去满足最大胃口的孩子 能满足就+1代码:class Solution {public: int findContentChildren(vector<int>& g, vector<int>& s) { //排序 sort(g.begin(),g.end()); sort(s.begin(),s.end()); //
2021-10-22 12:23:43
281
原创 【git】editor配置引起的错误
今天git commit --amend遇到了个问题:执行改命令要进入vim编辑器模式然后修改我的提交编辑内容,但是这里却报错。仔细阅读说明,说没有vs code.exe,想到了gitbash的编辑器。vim ~/.gitconfig查看,果然编辑器是VScode,后修改为vim问题解决...
2021-01-11 11:47:45
499
原创 【python】gitbash中执行python后出现【LookupError: unknown encoding: cp65001】
一、先说结论最终的原因是:python2.7下载错误 ,电脑是64位,我下载成32位,导致后面一系列问题....... python-2.7.18.amd64.msi (重新下载这个包安装后解决问题) python-2.7.18.msi (错误下载安装了这个包,导致了后面的问题)二、问题如下:在gitbash中执行repo,由于项目里有很多python脚本,于是执行python文件时出现如下错误:三、解决过程于是,Bing搜索了LookupError...
2020-12-29 16:52:02
967
原创 【python】python初学 读取map文件数据到excel中
0、前言python相关的知识,终于要开了学习的头....所谓万事开头难还是很有道理的,之前一直说要学习python,看了几眼书,翻翻博客,一直不=不够系统,这次想着直接从需求出发,根据需要,用到什么学习什么,感觉快多了需求:keil编译时产生map文件,现在需要将map文件中的Data字段的数据才能入到excel中1、代码import xlwtprint('hello python')row_number=0col_number=0book = xlwt.Workbook()
2020-12-21 14:46:07
2335
原创 【debug】stm32 指针奇数地址问题导致HardFault
很久很久没有记录过debug了,今天有空就正好记录一下stm32F407的开发板程序运行到断点位置就会进入hardFault,如图所示师傅告诉我:这个地址是奇数有问题啊!字节对齐!STM32出现硬件错误可能有以下原因: (1)数组越界操作;(2)内存溢出,访问越界; (3)堆栈溢出,程序跑飞; (4)中断处理错误;首先疑问,为什么指针是奇数的操作(例如复制之类的),一操作就会HardFault呢...
2020-12-15 13:52:41
2635
1
转载 typedef struct __attribute__((packed, aligned(1)))
1、attribute((packed))的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。2、attribute((aligned(n)))的作用就是告诉编译器在编译过程中按照n字节对齐。常常用来在结构体后面进行修饰。...
2020-11-17 20:40:43
2996
原创 【STM32】BootLoader介绍、编写 以及 OTA常见方案分析(差分升级 全量升级 AB面升级)
1.外设驱动--CubeMX生成GPIO uart(debug uart) SPI flash
2020-11-11 19:47:14
23876
5
原创 【踩坑】mcu+4G mqtt移植阿里云c_sdk抽取代码时遇到的坑:抽取代码失败wrapper.c中没有相应接口(原因:config.bat完成后要点击exit)
〇、起因,遇到相同坑的可以参考MCU上移植开发C·SDK流程中,第一步就是下载C_SDK,下载好之后就是点击config.bat配置功能。阿里云官方文档有抽取代码的移植说明:https://help.aliyun.com/document_detail/111026.html?spm=a2c4g.11186623.2.11.4fe81c84h17oAM【基于代码收取时的移植说明】我从头到尾读了,并且很久之前就做过stm32f103 + esp8266的连接阿里云例程,但今天才发现抽取代码的一
2020-10-22 14:07:29
693
1
原创 【4G模块】中移物联ML302 + GD32F407 使用支持MQTT协议AT指令接入阿里云物联网平台
目录〇、目的、GD32、ML302相关简介0.目的:1.ML302:2.LTE Cat.1:3.GD32F407 一、GD芯片创建工程写驱动:LED、串口4、4G模块1.创建工程2.LED的GPIO驱动3.debug串口驱动4.4G模组的供电、开机、串口二、测试ML302能否正常连接TCP服务器 AT指令说明三、使用MQTT协议连接阿里云物联网平台四、成果展示:〇、目的、GD32、ML302相关简介0.目的:使用手上的开发板(mcu...
2020-10-15 19:22:21
10315
4
原创 【STM32】MCU(STM32f103)+TCP模组(ESP8266)移植阿里云MQTT的C_SDK到mcu 连接阿里云物联网
零、写在前面1.发开发开板:野火 stm32f103 指南者wifi芯片 :ESP8266 板载的模块C_SDK :阿里云官网 c_sdk_3.0.1版本2.开发过程一、阿里云物联网创建产品、设备这一部分略,网上非常多的例子,官网文档资料也很详细二、官网文档阅读三、移植过程四、编写wapper.c中的接口五、调试六、写在后面 总结...
2020-09-21 15:00:51
5468
12
原创 【stm32】UART串口中断方式收发任意长度数据(HAL库开发,中断中不使用库函数 使用寄存器和自定义存储函数)
一、起因为什么要写一个串口接收不定长数据,还要把数据保存起来??因为存起来的数据要用要判断要很具数据做不同的处理,要把数据拿到后解析。但是,最开始想当然的使用HAL库中的HAL_UART_Receive_IT() 和HAL_UART_Receive(),调用函数发现怎么也不对,总是有bug。网上查了一堆,博客很多,解决不了我的问题啊,按照他们的方法我还是不能接收到数据。后来参考了野火的教程,直接用寄存器,自己再单独写了个函数解决。二、代码main.c 直接写while循环就O..
2020-09-08 19:37:03
3077
原创 【stm32】wifi ESP8266的透传 实验二(HAL库开发)
一、总算完成了透传,感觉没几行代码,就是在昨天的基础上,对ESP8266的AT指令进行了封装,什么选择工作模式(STA 还是 AP),查询附近WIFI热点,连接WIFi,见解服务器的IP和端口,开启透传......我的代码的缺点:1.有点简单粗暴,逻辑程序,接收到串口的数据这类的操作没有一部处理,直接把串口1接收到的(电脑上位机再串口工具上发送的数据)同步转给串口3(ESP8266),没有用一个全局数组将数据保存下,之后改进吧。缺点2:发送指令的函数接口中,直接用HAL_Delay() 延时去做
2020-09-02 18:00:40
5992
3
原创 【stm32】wifi ESP8266的AT指令 实验一(HAL库开发)
零、前言任务:这一周,想学习esp8266wifi模块的使用个驱动,学习mqtt,学会阿里云物联网的服务器使用,将自己的智能设备挂载到阿里云上,服务器可以发送指令给我的开发板,开发板完成相应功能。而这第一步就是:先能把wifi模块驱动起来,我开发板的wifi模块是ESP8266,实验一:开发板发送AT,能够收到回复OK。就这么简单。参考的野火的资料,用的是标准固件库,而我想用HAL库开发,所以需要改一下下。完成了程序之后,才理解了一些资料。总结下来就是:我使用的方法就是AT指令,ESP.
2020-09-01 20:22:51
12103
9
原创 【工作】入职两个月了 真快
心情不是太好,就像码一码字,敲敲键盘,写一些话。MD最近感觉自己真的是个废物,一天天在公司划水摸鱼,看书看不进去,任务也不给,给了也不会做那种的级别,感觉这个项目组真的就不适合我,我也就真的不适合这样的项目组..... 我应该成长成为一个能够独立完成项目的老员工再来这个项目组。。。‘有点想念之前的项目组,之前的项目组里,是个大项目,产品很牛逼,结构一帮人硬件一帮人都很熟悉,软件这边的人都带我很好,我旁边的哥们什么都教我,教我很耐心很认真,很多动作手把手带我上,之后我进公司一个月的时候,我..
2020-08-26 14:51:20
1014
13
转载 【c语言】结构体初始化4中方法
今天在6轴传感器的驱动代码源文件中看到结构体没见过的写法:typedef struct { uint8_t xlda : 1; uint8_t gda : 1; uint8_t tda : 1; uint8_t not_used_01 : 5;} lsm6ds3tr_c_status_reg_t;于是搜了博客,特此转载。以作记录。...
2020-08-25 16:49:27
713
2
转载 【stm32】转载 STM32 GPIO 配置之ODR, BSRR, BRR 详解
用stm32 的配置GPIO 来控制LED 显示状态,可用ODR,BSRR,BRR 直接来控制引脚输出状态.ODR寄存器可读可写:既能控制管脚为高电平,也能控制管脚为低电平。管脚对于位写1 gpio 管脚为高电平,写 0 为低电平BSRR 只写寄存器:[color=Red]既能控制管脚为高电平,也能控制管脚为低电平。对寄存器高 16bit 写1 对应管脚为低电平,对寄存器低16bit写1对应管脚为高电平。写 0 ,无动作BRR 只写寄存器:只能改变管脚状态为低电平,对寄存器 管脚对于位写
2020-08-17 18:05:47
911
原创 【C语言】printf输出16进制: %x %02x %#x
%x即按十六进制输出,英文字母小写,右对齐。%02X有以下变化:英文字母变大写,如果输出字符不足两位的,输出两位宽度,右对齐,空的一位补0。超过两位的,全部输出 printf("%x\n", 47); //输出结果为: 2f printf("%X\n", 47); //输出结果为: 2F printf("%#x\n", 47); //输出结果为: 0x2f printf("%#X\n",47); //输出结果为: 0X2F %#X...
2020-07-24 16:17:28
37829
转载 【转载】stm32小白到linux自我学习的心路分享!
13年本人还是小白,stm32刚刚入门,在本站发的第一个帖子http://www.openedv.com/forum.php?mod=viewthread&tid=17049&extra=,现在想想当初的自己何其的小白,陆陆续续问了很多可笑的问题。 6年过去了,我这几年平时工作基本以stm32为主,晚上自学linux,学的arm9 2440,这个开发板在15年学过几个月,后来废弃学习了,板子都找不到了,在17年又重新买了块,不过新板子差不多学习了半年,就基本入门linux了。学...
2020-07-07 17:06:10
913
7
原创 【Qt学习】QFile操作 、Json使用、图标使用
P40 QFile文件操作界面:功能:再lineEdit中选择一个文件,将文件内容放置在TextEdit中代码:#include "widget.h"#include "ui_widget.h"#include <QFileDialog>#include <QTextCodec>Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget){...
2020-05-26 10:54:35
689
原创 【个人总结】实习记录
实习总结从2019年11月15日到公司,2020年4月24日实习期结束离职,中间断断续续(回校期末考试、春节假期、疫情延误),算下来上班打卡一共68天。一、学习工作1.第一个月:学习,看书 嵌入式基础理论:2天读完了《嵌入式系统基础教程》 单片机C51书籍,做了几个51单片机的实验:点灯,电机驱动,蜂鸣器等简单外设的实验。大致了解了下原理,寄存器编程流程。 S...
2020-04-23 16:08:16
1150
原创 【Qt学习】自定义控件的使用
0422 网课P30 02自定义控件项目名称-添加新文件-qt-设计师界面类(生成.h .cpp .ui)ui中设计自己需要的功能(这里我设计了SSpinBox和Slider两个控件)widget中使用自定义控件,拖拽一个widget,点击提升为,点击添加,点击提升在Widget的ui中,使用刚才的自定义控件,选择一个widget,右键选...
2020-04-23 11:34:16
414
原创 【Qt学习】网课P23-P28 各种控件的使用
0421 P23 02登录窗口布局界面的布局:使用widget进行布局:水平、垂直、栅格给用户名、密码、登录、退出按钮布局使用弹簧:水平、垂直弹簧首先拖拽几个控件:编译生成程序,查看结果,发现问题:页面的布局不随着窗口大小变动位置。使用弹簧控件,使用widget,使用Group Box输入密码:选择输入时不显示明文效果展示:...
2020-04-22 17:11:19
339
原创 【qt学习】网课笔记01:P0~P23
一、学习qt的方式:看书+网课学习网站:http://c.biancheng.net/qt/网课基础教程:https://www.bilibili.com/video/BV1g4411H78N?p=14二、笔记1.建工程建项目 略略略2.qt程序代码前面几章的学习用代码写控件,后面用拖拽的方式做button按钮、信号和槽:第一章学习代码:熟悉各种接口...
2020-04-21 10:22:59
527
原创 【网络】tftp协议、简单实用tftpd32工具在主机和虚拟机之间传输文件
TFTP协议的简单了解学习以及使用一、前言在公司里,给设备进行升级的时候使用了一个tftp传输文件工具(Tftpd32),笔记本接上和设备在同一网络下的网线(使二者在同一个局域网下),然后配置Tftpd32的一些选项,如图12345填写好设备的IP和端口69,选择好文件,最后点击put将笔记本的文件通过tftp协议上传给设备。觉得这个操作很神奇,tftp之前从没用过,准备学习...
2020-04-09 19:39:17
3317
2
原创 【嵌入式】CAN
CANCAN(Controller Area Network,控制器局域网)是一种串行数据通信总线,也是应用最广泛的现场总线。1.现场总线:现场总线(Field Bus)是20世纪80年代出现的工控领域的计算机通信网络,安装在智能设备(仪表)与总控制站内的自控装置之间的一种串行、数字式、多点、双向传输的通信网络,被称为自动化领域的计算机局域网。常用的现场总线有:FF HI、PROF...
2020-04-09 15:44:12
944
原创 【实习60天】总结、思考、未来规划
零、前言实习打卡天数将近60天(周一-周五上班),算上周末,一共上班将近3个月了。自己干了什么呢?学了什么呢?嗯...........emmmmmmmmmmmmmmmmm....................一、实习阶段嵌入式软件开发的基础理论知识STM32库开发/HAL库开发(单片机),野火的教程。搭载FreeRTOS的STM32单片机,野火的《Free RTOS教程》...
2020-04-09 11:47:48
1040
2
转载 【Linux】Linux简介
惭愧啊!接触Linux有两年了吧,到今天,才知道发行版,内核版,才知道Ubuntu,red hat 啥关系,才知道为什么之前装openssl库走的坑,为什么有的用yum命令,有的用apt......4. Linux系统简介Linux系统由Linus Torvalds (林纳斯·托瓦兹)于1991年发布在新闻组的内核发展而来,由于它在发布之初就免费和自由传播,支持多用户、多任务...
2020-04-01 14:02:54
632
原创 【Linux】使用openssl库得到文件的MD5值;解决16进制16字节长MD5值转换为32字节字符串
代码:参考了网上的一个,后来发现,这个代码问题太多了.....一下是我走的坑。。。。。#include <stdio.h>#include <string.h>#include <stdlib.h>#include <openssl/md5.h>#include <unistd.h>#include <sys/t...
2020-03-20 10:43:02
1110
原创 【Linux】 recv select非阻塞
void task_client_handle(){ fd_set fdset; while(1) { FD_SERO(&fdset);//clear fd_set FD_SET(sockfd,&fdset); //将sockfd添加到fset集合中 struct timeval timeout...
2020-03-19 21:53:11
527
原创 Ubuntu linux 安装OpenSSL
一般来说著名的linux系统基本上分两大类:1 RedHat系列:Redhat、Centos、Fedora等2 Debian系列:Debian、Ubuntu等RedHat 系列:1 常见的安装包格式 rpm 包,安装rpm包的命令是 “rpm -参数”2 包管理工具 yum3 支持tar包Debian系列1 常见的安装包格式 deb 包,安装deb包的命令是 “dpkg -参数”...
2020-03-19 17:13:25
785
转载 【嵌入式工程师的30岁总结】 真实
回想我刚毕业那年的春节后,招聘现场也异常火爆,我艰难地挤到了第一排,递上简历,得到两个问题,第一,学什么专业,会干啥,我如实回答,第二个问题,Linux玩到什么程度,我说还没开始,刚把声卡驱动写好。然后就告诉我两天后到公司二面,二面过程很长,但我还算顺利地过了。就业的问题算是解决了。我上学路过福州,正好赶上个招聘会,当时在福大礼堂,一个看起来非常牛气的公司在招人,打着省科技厅的名号,列了...
2020-03-11 14:54:39
1593
9
10HAL_WIFI_01MQTT_test_01.rar
2020-09-08
09HAL_WIFI_01PassThrough.rar
2020-09-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人