- 博客(64)
- 收藏
- 关注
原创 ARM_day8:基于iic总线的通信
SI7006内部有两个传感器,分别是温度传感器和湿度传感器,通过模数转换器,可以将二者采集到的模拟信号转换为数字信号,再由相关的寄存器存储,通过控制单元交给IIC接口,再通过IIC总线与外界进行交互。iic总线是一种带应答的同步的、串行、半双工的通信方式,支持一个主机对应多个从机。SI7006数据手册中已经写明,但要注意它是原本的从机地址,还是加上了R/W标志位后的数值。9.当不需要发送数据时,主机发起终止信号(时钟线为高电平,数据线产生上升沿),表示停止发送数据。
2024-04-17 20:27:18 1656
原创 FressRTOS_day4:2024/4/4
二进制信号量的数值只有0和1。(用于共享资源的访问);而计数型信号量的值一般是大于或者等于2(用于生产者和消费者模型)1.队列:先创建,创建队列有两种方式分别是动态创建和静态创建,动态创建使用xQueueCreate函数进行创建,静态创建使用xQueueCreateStatic函数进行创建。
2024-04-04 16:05:01 395
原创 FreeRTOS_day3:2024/4/2
(1)抢占式调度:高优先级任务可以打断低优先级任务,用于任务优先级不同的任务(2)时间片轮转:相同优先级的任务,分配相同的时间片(一般为 1ms),当任务的时间片用完后,必须退出(3)协作式调度:一般使用 osDelay 实现,任务之间协商着执行,相当于是:抢占式调度+时间片轮转(1)动态创建任务无需指定具体的栈,只需要给定栈的大小即可,它会调用 vportmalloc函数自己指定,静态创建任务既需要制定具体的栈,可以使用数组来指定,也需要给定栈的大小。
2024-04-02 20:00:12 449
原创 FreeRTOS_day2:2024/4/1
HAL_Init();//打开定时器的PWM通道3//改变CCR的值,范围在0-999,CCR的值不能超过重装载值ARR的值while (1)//开启ADC采样//获取ADC采样的值//改变CCR的值,控制灯的亮度else效果视频:QQ视频20240401200042。
2024-04-01 20:13:47 135
原创 FreeRTOS:2024/3/29
需要在下载代码之前编译一下,防止出错。并且需要确保串口和下载线已经连接,随后查看驱动是否已经安装,当这些准备工作完成并且无误的情况下,就可以开始下载代码了。1.打开软件后需要选择需要使用的单片机的型号2.选择好单片机型号后,需要选择芯片的封装格式,如何开始创建工程3.在引脚配置布局中选中 SYS,勾选Debug;在 RCC中选择时钟配置4.在时钟配置界面可以更改始终频率5.在项目管理界面创建工程(工程名、路径以及编译器,选择拷贝必要文件以及为每个模块生成单独的.c和.h选项)
2024-03-29 19:19:48 247
原创 Qt_day4:2024/3/25
如果账号和密码不匹配,弹出错误对话框,给出信息”账号和密码不匹配,是否重新登录“,并提供两个按钮Yes|No,用户点击Yes后,清除密码框中的内容,继续让用户进行登录,如果用户点击No按钮,则直接关闭登录界面。“,并给出两个按钮Yes|No,用户迪纳基Yes后,关闭登录界面,用户点击No后,关闭对话框,继续执行登录功能。完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面。
2024-03-25 19:44:53 287
原创 QT_day3:2024/3/22
将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为"123456",如果账号密码匹配成功,则输出“登录成功”,并关闭该界面,如果匹配失败,则输出登录失败,并将密码框中的内容清空。使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数。自己完成一个使用qss的登陆窗口界面。
2024-03-22 21:03:12 352
原创 QT_day2:2024/3/21
2. ui界面上的组件相关设置,通过代码实现。1. 需要使用Ui界面文件进行界面设计。3. 需要添加适当的动图。
2024-03-21 21:02:04 401
原创 C++_day6:2024/3/18
再封装一个狗这样类,共有继承于动物类,自己拓展的私有成员有:指针成员:腿的个数(整型 int count),共有成员函数:会叫:void speak()在这个场景中,我们可以将动物比作是不同的类,而每种动物表演则是类中的函数。而讲解员则是一个基类,他可以根据每种动物的特点和表演,进行相应的介绍。定义一个基类 Animal,其中有一个虛函数perform(),用于在子类中实现不同的表演行为。封装一个动物的基类,类中有私有成员:姓名,颜色,指针成员年纪。比喻:动物园的讲解员和动物表演。
2024-03-18 19:15:31 280
原创 C++_day3:2024/3/13
要求:设计一个Per类,类中包含私有成员:姓名、年龄、指针成员身高、体重,再设计一个Stu类,类中包含私有成员:成绩、Per类对象p1,设计这两个类的构造函数、析构函数和拷贝构造函数。
2024-03-13 20:11:17 302
原创 C++:2024/3/12
要求:自己封装一个矩形类(Rect),拥有私有属性:宽度(width)、高度(height),初始化函数:void init(int w, int h)输出该矩形的周长和面积函数:void show()更改宽度的函数:set_w(int w)更改高度的函数:set_h(int h)
2024-03-12 19:57:34 333
原创 2024/2/18:IO进程线程(已修改)
功能2是登录功能,提示并输入登录账户和登录密码,并用其遍历文件中的每一组账户和密码,如果匹配成功,则登录成功,如果全部不匹配则提示登录失败。做个小菜单,功能1是注册功能,输入注册账户和注册密码,将账户和密码写入文件中。
2024-02-18 22:43:17 417
原创 寒假作业:2024/2/15
(arr+2)+3的地址是:0x1020+2*16 + 3*4=0x104c。arr[0]+2 地址是:列偏移:0x1020+2*4=0x1028。40. arr+1 地址是:行偏移:0x1020+16=0x1030。*(p+1)+1的地址是:0x1020+16+4=0x1034。*(p+1)的地址是:0x1020+16=0x1030。p+2的地址是:0x1020+16*2=0x1040。&p+2的地址是:0x600+16=0x610。
2024-02-15 18:14:51 129
原创 寒假作业:2024/2/13
39. puts(">6"),因为有符号int 与无符号 int 参与运算时,会将有符号转换为无符号参与运算,-20转换成无符号数大于6,所以+6也大于6。23.B 5先出栈表示1,2,3,4已经入栈了,5出后4出,但之后想出1得先让3,2先后出栈,所以 B 不可能。26.可能会出现段错误,因为A[255]只有255个元素,循环0-255,有256个元素,越界访问数组可能会出现段错误。
2024-02-13 22:11:59 232
原创 寒假作业:2024/2/12
3.会打印出 hello 因为传入的是str的地址,用的是二级指针接,*p申请的内存就是str申请的内存,所以可以将 hello 拷贝给 str。4.可能会出现段错误,因为free(str)后,未让str指向NULL,导致str成为野指针,拷贝 world 时可能会出现段错误。1.会出现段错误,因为p申请的堆区内存未返回给str,导致str仍然指向NULL,无法将"hello world"拷贝给str。2.会出现段错误,因为p是一个局部变量,函数结束时,p将被释放,不能返回它的地址。
2024-02-12 11:41:52 224
原创 寒假作业:2024/2/8
例如:原字符串为:char *str="I am Chinese"倒置后为:"Chinese am I".例如:"this is a boy"附加要求:删除原字符串中多余的空格。
2024-02-08 16:15:47 209
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人