面试笔试题
C语言与数据结构使用C语言实现读写寄存器变量#define rBANKCON0 *((volatile unsigned long *)0x48000004)
rBANKCON0 = 0x12;
在C语言中,凡是以#开头的都是预处理命令,同时预处理命令都是以#开头预处理标识#error在编译程序时,只要遇到#error就会跳出一个编译错误static关键字修饰局部变量
修饰全局变量
修饰函数
typedef关键字#define dPS struct s*
dPS p1,p2;
typedef struct s * dPS
dPS p1,p2;
前者定义了一个结构体指针和一个结构体,后者定义了两个结构体指针。
sizeof和strlensizeof用于计算变量所占的字节数,包含字符串的’\0’;
strlen用于计算字符串所占的字节数,但不包好’\0’;
extern关键字跨文件引用全局变量
extern “C”在C++中调用C函数
register关键字被该关键字修饰的变量尽量存入寄存器中
const和#define的区别const有数据类型,编译器可以对其做类型检查
def ...
2022.10.11
前情提要看昨天的吧。
今日进行的事情今天上午先是继续进行esp8266连接阿里云的工作,但越看越乱,一会儿阿里云,一会儿onenet云,连个都不太好弄,弄着弄着到了上课的时间,上课之前老师提议让我去北京工作,上课过程中看了看北京的秋招岗位,岗位要求并不多,只要求C语言扎实,其余都是加分项,薪资平均在一万二,让我不禁怀疑我是否真的值这个假期,于是决定花两百块钱付费咨询一下。
下午把具体情况和微信上的勃勃说了下,他给出了学习路线,并对我的简历进行了评价,简历方面并不需要太多地修改,在本科毕业生水平中处于中上,相当于鼓励了我,目前是打算一边学习ucos实时操作系统一边进行投简历找机会。还说我这个水平的薪资在一万五左右,让我不要妄自菲薄,好家伙,要是真有这样就好了。
今天进行了ucos的移植工作,还没有做完。
明日工作继续学习ucos,先完成移植工作。
一些牢骚最近因为这个esp8266,有点上火,嘴巴和鼻子周围又爆了好几个痘痘,唉😔。
ucos
RTOS系统硬实时规定时间内必须完成操作,不允许超时
软实时不如硬实时严格
可剥夺性内核可以剥夺其他任务的CPU使用权,总是在运行就绪任务中的优先级最高的那个任务
UCOS在F103上的移植源码获取源码我是通过正点原子提供的源码直接复制过来的,也可以通过mirium官网进行下载。
官网地址:https://www.silabs.com/developers/micrium
源码移植文件移植将ucos路径下的三个文件夹复制到工程路径下
新建两个文件夹UCOS_BSP,UCOS_CONFIG
向UCOS_CONFIG文件夹中添加\Micrium\Software\EvalBoards\Micrium\uC-Eval-STM32F107\uCOS-III路径下的程序文件
向UCOS_BSP文件夹中添加Micrium\Software\EvalBoards\Micrium\uC-Eval-STM32F107\BSP路径下的程序文件
移植到工程在工程中新建分组
移植工程内的文件
添加完毕后将文件的只读属性取消,随后将所有文件的头文件路径添加到工程中。
修改文件直接将修改好的bsp ...
2022.10.10
前情提要8号还想着巩固下计算机操作系统的知识,结果上午摆烂,下午来了实验室也不想学习,磨磨唧唧到了晚上,题目也没看,数据库系统的知识也只是开了个头,很多东西都没听进去,毕业设计也没动,摆烂的一天让我感到羞愧但又什么都不想干,一遍羞愧一遍摆烂。苦笑.jpg
今天的工作今天是周一吗,新的一周开始了,继续开始进行毕业设计的开发,从上次的错误开始进行,没有继续烧录MQTT的固件,选择了不烧录固件,使用mqtt驱动程序去进行阿里云服务器的连接,今天使用驱动代码连接上了云服务器上的设备,设备显示在线,但无法发布消息。又掉坑里了,明天解决这个问题。
今天倒是解决了之前遇到的程序无法跳出B .的问题,解决方法是检查一下被遗漏的中断处理函数,也没有什么困难。
今天接了一个可以去实习的公司,是一个医疗器械的公司,在大学科技园阳光园区,有点远,明天可能是有技术面试,HR只是口头答应可以去实习,先看看明天的技术面试吧。
明天的工作尝试解决订阅和发布问题,使单片机可以向阿里云发送消息。
一些牢骚有点心累。
数据库系统
数据库模式三级模式内模式:物理数据库
概念模式:DBA视图-概念级数据库
外模式:对应数据库视图-用户级数据库
两级映射外模式-概念模式映射
概念模式-内模式映射
数据库设计需求分析概念结构设计逻辑结构设计物理设计E-R模型
E-R图集成方法一次集成逐步集成用累加的方式一次集成两个局部E-R
2022.10.8
前情提要昨天做了一些毕业设计的工作,打算留一些给今天做。
今日状态今天上午天气阴沉,无心学习,想着放个小假,遂开始摆烂,在宿舍躺了半天,看了两场比赛。
下午做完核酸后来到实验室,不想做毕设,开发真的好麻烦啊,开局刷经验好累啊。于是学习软件设计师考试的内容,过了一遍操作系统的理论知识。
明天规划做做操作系统的题目对今天的知识进行巩固,继续进行毕业设计的制作。
计算机操作系统
PV操作P操作:信号量-1;
V操作:信号量+1;
P操作为在没有信号量之前为阻塞状态,需要V操作进行唤醒。
一对PV操纵使用同一个信号量
图中题目中,收银员进程在购书者产生付款需求之前处于阻塞状态,因此是一个P操作,购书者提出付款需求,需要使用V操作来唤醒收银员进程,这一对PV操作使用一组信号量,购书者需要等待收银员进程执行完成,因此需要使用P操作阻塞购书者进程,等待收银员进程产生V操作来释放信号量来继续运行。这一对PV操作使用另一组信号量。
1.A
2.C
死锁问题死锁产生的条件环路等待:各个进程各自等待目标进程的资源,形成环路
互斥:资源是互斥的
不可剥夺:系统不会剥夺已经分配给进程的资源
保持和等待:各个进程保持自己的资源并等待其他进程释放资源给自己
死锁预防打破以上四个条件之一
死锁避免有序资源分配银行家算法
根据已经分配出的资源数,得到目前还剩下的资源为R1:2,R2:1,R3:0,只能满足P2所需要的资源数,所以将资源分配给P2进程,执行完成P2进程后可用资源为4,2,1,只能满足P4进程所需要的资源数,将资源分配给P4进程让其执行,选B。
存储管理分区存储组织首次适应算 ...
2022.10.7
毕设开题前情提要今天是毕业设计开题的日子,题目定为《基于STM32的森林火灾检测系统的设计与实现》,由于毕设和以后就业方向的知识大致吻合,所以已经完成了一部分内容,已经完成了采集温湿度的程序,还打算加上GPS定位功能,采集完成后一同发往上位机。
正在进行的内容目前正在进行的工作是使用esp8266进行连接云服务器,已经完成了TCP连接功能,但卡在了连接云服务器的功能上,今天一天的工作下来了解到了连接云服务器需要基于MQTT传输协议,需要向esp8266中烧录固件并使用AT+MQTT指令进行连接,但连接上无线网之后向8266中发送AT指令后一直回复ERROR,目前考虑的解决方法是可能是烧录的固件不支持MQTT。看了许多教程,但教程没有详细地讲述mqtt的AT指令,自己尝试发送AT指令却一直error,唉,麻了麻了,一天下来没有一点进展。
明日工作内容明天尝试更换下固件,按着收藏的博文进行一遍,就这些。
一些牢骚好多东西我都没办法一遍调通,每次都是系统地对知识点进行学习之后才可以向下进行,让我感觉对自己很失望。
明天还得开始软件设计师考试的学习,还有不到一个月,有一半的东西还没学习,忙死了 ...
创建阿里云平台
创建阿里云平台网络云平台通信协议应用层:HTTP、FTP、MQTT
传输层:TCP、UDP
具体步骤进入阿里云平台,注册登陆后点击控制台,在上方搜索栏搜索物联网平台后点击进入
创建产品和设备产品:某一类产品
设备:某一个产品硬件
首先创建产品,后续在产品中添加设备
点击实例概览,在公共实例区点击设备数,展开左侧设备管理选项,点击产品选项后点击创建产品
产品配置产品名称自定义,所属品类为自定义品类,节点类型直连设备,连网方式为WIFI,数据格式为ICA,点击确定完成产品创建
在产品中添加设备点击设备选型卡,在设备下方的产品种类中选择刚刚创建的产品,点击添加设备,输入设备名称和备注名称后点击确认
安装MQTT.fx软件具体步骤在首页的支持与服务中选择文档中心并进入,点击左侧物联网选项,后续点击阿里云物联网平台
进入后展开快速入门,点击其中的MQTT.fx接入物联网平台,在页面中找到下载mqtt.fx软件的链接,点击进入进行下载,需下载1.7.1免费版,官网下载的需要许可证。
点击菜单栏中的extras选项卡,选择edit开头的选项,选择User Credentials选项,随后在阿里云物联 ...
STM32连接阿里云
烧录固件在安信可官网下载固件号为0781的AT固件
选择8M的固件,选择串口后点击start开始烧录
移植并修改实例程序中的参数具体步骤首先进入阿里云平台,展开设备管理,点击设备并查看目标设备,查看MQTT连接参数
复制地址mqttHostUrl和端口号port作为备用,复制后点击上方的DeviceSecret查看按钮,复制设备证书的三元组信息
三元组信息:产品ID,设备名,设备证书
复制完成后点击产品选项,点击查看,点击Topic类列表,点击自定义Topic,复制订阅和发布地址
修改程序内无线路由器名称和密码,修改IP地址和端口号,修改实际三元组信息,修改实际的订阅地址。
我的内容ip地址:iot-06z00h6yp22nd5b.mqtt.iothub.aliyuncs.comport:1883产品ID:hqbae3iSjhM产品名称:deviceStm32产品证书:bb54c8a0549bb9a9795b98076c8eb7df订阅:/hqbae3iSjhM/deviceStm32/user/get发布:/hqbae3iSjhM& ...