- 博客(24)
- 收藏
- 关注
原创 初探沁恒CH32V307VCT6评估板 2-1定时器TIM
8,声明定时器中断2函数是一个中断 -->void TIM2_IRQHandler(void)__attribute__((interrupt));* 5,NVIC分组 -->NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);* 4,使能更新中断 -->TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);* 7,(开启)启动定时器 -->TIM_Cmd(TIM2,ENABLE);
2024-06-05 12:00:25 586
原创 沁恒编译器添加文件方法
1,在打开的文件上右键-->选择属性-->C/C++General-->路径和符号-->编辑-->工作空间-->选择你要添加的路径即可,然后一步步OK即可。
2024-06-05 11:50:49 167
原创 初探沁恒CH32V307VCT6评估板 1-1外部中断EXTI
7,声明中断通道是一个中断 -->void EXTI0_IRQHandler(void)__attribute__((interrupt("WCH-Interrupt-fast")));3,AFIO复用GPIO到EXTI -->GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource14);注意:如果不包含第一第二个头文件uint、int这些定义就会报错。3,配置CountSonser_Init()相关。
2024-06-04 23:55:01 432
原创 STM32可遥控平衡小车
如果是只在纯比例控制的时候在小车开始运行时,由于小车倾倒的时候导致陀螺仪的反馈的角度不是0,所以电机转得很快就导致编码器有一个很大的一个速度的反馈,把速度反馈压到直立环中去就导致小车转得越来越快一发不可收拾(在压入直立环之前对他限幅就可以收拾),小车反向转的速度很快所以就又摆到另一面的方向去了来来回回的摆动不是我们想要的,所以就要加入微分项阻尼,慢慢的就会稳定了许多了,这就是比例微分控制器的原理。//可以理解为阻尼;极性正确:拿起小车绕Z轴转动,小车有加速旋转的趋势,让小车加速旋转;
2024-05-11 18:16:04 949 1
原创 C#书店售卖系统
这是我学习C++时的结课课程设计作业,但是由于当时自己的电脑刚升级了Win11的系统(网上查的数据库不兼容Win11),自己也装了好几次都不成功,所以才用的老师的电脑做的项目,导致现在只有源代码和一些数据库数据表和日志,懂得怎么迁移数据库的朋友可以动手把数据库并到自己的电脑上就可以直接运行系统了。在实体书店的日常管理中,传统的人工操作存在着诸如工作量大、错误率高、效率低下等很多弊端,因此开发一款辅助实体书店进行管理的系统,实现实体书店的自动化管理显得十分重要。仓库和供应商的模块都能进行增删改的操作[2]。
2024-05-08 16:12:14 619
原创 牛马学习数据结构 第九天~ (二叉搜索树)
时隔很多很多天又回来打卡了,坚持真的是一件很难的事情。概念:左子树的值全部都小于根节点的值,右子树的值全部都大于根结点的值,左子树和右子树也是同样的原理。遍历的方式一般为中序遍历 即 : 左 -->根 -->右。遍历完成后就是一个单调递增的函数。
2024-05-08 11:54:14 285
原创 牛马学习数据结构 第八天
/ 返回 4.66667 = (1 + 10 + 3) / 3。// 返回 6.0 = (10 + 3 + 5) / 3。// 返回 5.5 = (1 + 10) / 2。给定一个窗口大小和一个整数数据流,根据该滑动窗口的大小,计算滑动窗口里所有数字的平均值。// 返回 1.0 = 1 / 1。],范围是 [-2900,100],返回 2。],范围是 [-2999,1],返回 1。],范围是 [1,3001],返回 3。],范围是 [2,3002],返回 3。
2024-04-25 20:25:37 386 1
原创 牛马学习数据结构 第七天
书店店员有一张链表形式的书单,每个节点代表一本书,节点中的值表示书的编号。为更方便整理书架,店员需要将书单倒过来排列,就可以从最后一本书开始整理,逐一将书放回到书架上。请倒序返回这个书单链表。的单链表用于记录一系列核心肌群训练编号,请将该系列训练编号。编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。,请反转链表,并返回反转后的链表的头节点。
2024-03-31 19:09:42 378 1
原创 牛马学习数据结构 第六天
输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1 9。指定链表中值为 1 的第三个节点,那么在调用了你的函数之后,该链表应变为 4 -> 5 -> 9。若链表中的某个节点,既不是链表头节点,也不是链表尾节点,则称其为该链表的「中间节点」。不返回任何数据,从链表中删除传入的节点 5,使链表变为 4->1->9。1->2->3->4->5 和。
2024-03-28 17:36:30 459 1
原创 牛马学习数据结构 第五天~
1,找到数组的中间位置给你一个下标从0开始的整数数组nums,请你找到最左边的中间位置middleIndex(也就是所有可能中间位置下标最小的一个)。中间位置middleIndex是满足nums[0] + nums[1] + ... + nums[middleIndex-1] == nums[middleIndex+1] + nums[middleIndex+2] + ... + nums[nums.length-1]的数组下标。如果middleIndex == 0,
2024-03-18 11:48:46 367
原创 牛马学习数据结构第四天
例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。孩子 1 有 2 个糖果,如果他得到所有额外的糖果(3个),那么他总共有 5 个糖果,他将成为拥有最多糖果的孩子。孩子 4 有 1 个糖果,即使他得到所有额外的糖果,他也只有 4 个糖果,无法成为拥有糖果最多的孩子。孩子 2 有 3 个糖果,如果他得到至少 2 个额外糖果,那么他将成为拥有最多糖果的孩子。元素的顺序可以改变。孩子 3 有 5 个糖果,他已经是拥有最多糖果的孩子。
2024-03-18 00:00:59 793
原创 牛马学习数据结构第三天
解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 1 次,总共 4 次即可拿完。开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.nums 的数字和是 1 + 1 + 5 + 6 + 3 = 16。nums 的元素和是 1 + 15 + 6 + 3 = 25。nums 的元素和是 1 + 2 + 3 + 4 = 10。nums 的数字和是 1 + 2 + 3 + 4 = 10。元素和与数字和的绝对差是 |10 - 10| = 0。
2024-03-16 11:59:01 295 1
原创 F103串口的配置和理解
4-3 这个实验是串口收发数据包,收发格式 OxFF (四位16进制数据) 0xFE ,可以通过按键给发送的数据++;4-4 这个实验是收发可变文本长度数据包 格式:@ - - - - \r\n ,可以通过发送相关字节控制灯的亮灭。4-2 这个实验是从接收一个16进制数,并在OLED上显示接收到的数据,再发送到串口。4-5 这个实验是通过串口连接连接WiFi再连接巴法云。4-2 这个实验是发送数据到串口。
2023-11-09 12:05:32 190 1
原创 STM32F103,DMA数据转运以及配合AD多通道使用的两种方法
2、初始化DMA:配置他的外设和存储器的起始地址、数据宽度、地址是否自增,他们的方向,有多少个通道,DMA的循环模式,配置触发方式,优先级,最后一步开启DMA。3、DMA的转运:先把计数器清零,调用专用函数,使能计数器,是从最后一个序列开始自减的,判断是否转运完成标志位,清除标志位。二、函数模块代码和使用方式。1、开启RCC的时钟。
2023-11-06 10:54:22 395
原创 毕业设计,嵌入式芯片设计单片机环境监测系统
本系统硬件部分有温湿度传感器、光照传感器、气体传感器,通过传感器测到的数据主控单片机MCU对相关的功能控制,比如说温度湿度可以控制灌溉开风扇通风等,光照可以调节灯的开关或者亮度,气体监测可以通风,相关的数据可以通过蓝牙上传到手机客户端,也可以上传到云端,在板载自带的OLED也可以显示。需要代做或者资料可以私信我哈。三、功能的部分代码,由于个别原因不能展示全部的代码,我就展示部分的代码吧,如果需要就加 Q1753393013我会给解答哈,资料全包都还在。1、基本实现功能有如下框图。
2023-11-02 12:33:57 258 1
原创 STM32F103输出比较(OC)与PWM的调制步骤
占空比由CRR、CNT、PSC这几个因素共同决定,分别代表下面几个函数,其实就是跟中断差不多,不用配置初始化NVIC,NVIC换成初始化OC。向上计数输出比较,可以理解为REF与RCC正比,CRR大就是有效电平。向下计数输出比较,可以理解为REF与CRR正比,CRR大就是有效电平。向上计数输出比较,可以理解为REF与RCC正比,CRR大就是无效电平。向下计数输出比较,可以理解为REF与CRR正比,CRR大就是无效电平。
2023-11-01 10:04:46 337
原创 STM32F103中断的使用
开启GPIO时钟—>开启AFIO时钟—>初始化GPIO相关参数—>配置GPIO_EXTI通道—>初始化GPIO_EXTI相关参数—>配置NVIC组数—初始化NVIC相关EXTI通道参数—>写对应EXTI中断的函数体(对应的中段位对应中断函数,否则不能进入中断)(中断函数中需判断有没有被置标志位,置标志位后也是需要清除标志位,否则不能再次进入中断)。
2023-10-29 16:21:12 300 1
原创 51单片机基于AT24C02的可修改密码的电子密码锁
代码部分,我使用的是模块化封装函数,可移植性高,基本上是将每个功能函数都分别封装在一个函数里,在主函数里面调用,这样可以大大的节约时间,也能更好的了解,在主函数里基本上是实现逻辑部分即可,不用看密密麻麻的函数声明之类的。
2023-08-07 15:56:32 1298 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人