自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言通讯录管理系统(基础版)

图2.contact.c文件图(1)图3.contact.c文件图(2)图4.contact.h文件图。图1.main.c文件图。

2023-09-01 00:09:20 197 1

原创 STM32CubeFreeRtos-计数信号量

分析:成功提取三次后再次按下TAKE键由于阻塞时间为portMAX_DELAY故T4任务进入阻塞态一直阻塞,直到接收到新的信号量,接下来按下GIVE键发现串口打印结果为gake说明这边释放那边接收且均成功了两个printf(... complete)语句同时执行,故现在是扯平了的状态因此能够再成功释放信号三次。分析:Cube默认填满因此take成功三次再一次会失败,give连续三次成功因为count为3...3.2当阻塞时间为MAX时。3.1当阻塞时间为0时。

2023-08-27 15:10:48 205

原创 STM32Cube硬件SPI读取W25QXXID

1.2HAL_SPI_Transmit()__去掉参数3。1.3HAL_SPI_Receive()__去掉参数2。参数1:SPI外设句柄;的数据缓冲区的指针;数据的缓冲区的指针;

2023-08-27 14:16:25 1125

原创 STM32CubeFreeRtos-二值信号量

这句话,进一步按下释放键串口显示Gake而不是Give且小灯亮起,这是因为程序就在这里阻塞着就在这里等着,这就是意味着释放成功,取走成功两者同时完成,因此串口出错...阻塞时间配置为0时,不可能等,不会卡在if(xSemaphoreTake(myBinarySem01Handle, 0) == pdTRUE)这句话,没东西可取。分析:对于第一行二值信号量释放(give)失败是由于Cube配置信号量默认填满,因此第二行取走(take)成功,第三行由于xSemaphoreTake()

2023-08-26 15:25:26 221

原创 基于HAL库实现STM32硬件IIC读写MPU6050

STM32通过IIC协议向24C02发送数据,再读取数据。参数4:从机寄存器地址长度写为I2C_MEMADD_SIZE_8BIT,EEPROM内存长度为8bit;参数3:从机寄存器地址,如24C02有256个字节的存储空间故可写为0~255;1.2类似的HAL_I2C_Mem_Read()参数2:从机设备地址,如当AT24C02的。参数5:发送的数据的起始地址(发什么);参数1:I2C句柄,如&hi2c1;参数7:操作超时时间如0xff。参数6:传输数据的大小如1;为0xA0(1010。

2023-08-26 00:56:00 2969

原创 关于使用STM32Cube配置定时器输出PWM实现呼吸灯

2.1f = 定时器时钟 / (Prescaler + 1)/ (Counter Period + 1)Hz = 72000000 / (71 + 1) / (499 + 1) = 2000Hz。

2023-08-24 23:18:13 340 1

原创 Linux应用开发-文件IO(基本接口)

头文件:#include #include #include mode:0000 000(S) 000(User) 000(Group) 000(Other) 按rwx顺序分配权限位。O_CREAT(Create)结合O_EXCL(文件已存在open函数返回错误)一般同时使用;O_RDONLY(Read),O_WRONLY(Write),O_RDWR三选一;buf:指定写入数据对应的缓冲区(写什么);count:写入的字节数。

2023-08-24 18:01:09 152 1

原创 STM32标准库ADCAD转换联名DMA联名光敏电阻

【注】首先C8T6引脚选择PA0--ADC12_IN0...PA2--ADC12_IN2,故有参数ADC_Channel_2将其放置序列1中。其次定义好全局变量uint16_t ADCV0,存放AD转换结果,见注释end。Step3、alarm接口。Step1、初始化函数。

2023-08-24 16:33:34 171 1

原创 STM32标准库串口发送与接收(基础版)

Step1、串口初始化函数。Step2、串口发送函数。Step3、串口接收函数。

2023-08-24 15:27:06 871 1

原创 STM32标准库定时器输出PWM控制舵机

1.2 占空比 0.5/20 = 2.5% 1/20 1.5/20 = 7.5% 2/20 2.5/20 = 12.5% 分别对应旋转角度-90°~+90°。(arr + 1) = 100则传参为x意味着Duty = x / (arr + 1) = x / 100 = x%,进一步涉及到强转为浮点型。3.3.2 TIM_SetCompare3接口可以单独改变ccr的值现已配置。3.3.3 实验现象舵机循环从0°到90°再到180°变化。【注】本实验以-90°为0°参考。3.3参数验证及实验现象。

2023-08-23 21:16:39 459

原创 关于STM32CubeFreeRtos软件定时器的应用角度-定时中断

【代码】关于STM32CubeFreeRtos软件定时器的应用角度-定时中断。

2023-08-23 15:03:21 95

原创 有关 STM32Cube FreeRtos 事件组的使用

若为pdTRUE,当uxBitsToWaitFor所设置的这些事件位都置1(与模式),函数返回;若为pdFALSE,只要uxBitsToWaitFor所设置的这些事件位其中的任意一个置1(或模式),函数返回;定义flag变量接返回值,KEY0按下返回0x1000,KEY1按下返回0x0001,实现OLED屏幕刷新。uxBitsToWaitFord:指定要等待的事件位(final result);返回值:返回当所等待的事件位置1以后的事件标志组的值。uxBitsToClear:要指定置1 的事件位;

2023-08-23 14:30:59 221

原创 关于STM32CubeFreeRtos消息队列的使用

xTicksToWait:阻塞时间,当队列空时任务进入阻塞态等待队列有数据的最大时间。其中,参数portMAX_DELAY,代表该队列要一直等待,除非有入队的才会执行下面的代码,如果没有则该任务会一直处于阻塞态。其中,参数50,如果有超过50ms没有出队,则返回值会变成pdFALSE便退出while循环。pvItemToQueue:指向要发送的信息,发送时会将此信息拷贝到队列中;pvBuffer:保存数据的缓冲区,读取队列时会将读取到的数据拷贝到此区中;xQueue:队列句柄;3.3字符串解析函数。

2023-08-23 12:54:16 779

原创 Proteus仿真-三极管,MOS管

介绍了三极管(PNP,NPN)与MOS管(NMOS,PMOS)的简单应用

2023-08-22 16:14:28 6032 1

原创 运放Proteus仿真-比较,放大

介绍了运放的两种基本用法

2023-08-22 15:18:03 1476 1

空空如也

空空如也

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

TA关注的人

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