- 博客(22)
- 收藏
- 关注
原创 23-硬件篇-AD & 立创
电源供电里的LDO:主要找一个输入输出,注意在电源供电也就是5转3.3V之后,应该在滤波电容后面加过孔,而不是直接就在转换后的3.3的铜上面打孔,同时0.5mm的过孔就可以过1a的电流,如果是0.25直径的过孔,就需要两个这样的过孔合起来是0.5就可以过1A的电流了,图中绿色圈圈里面就是滤波电容所在的3.3V(30Mile),所以就是要在那里打孔,而不是直接在下面的红色部分&&对于晶振,回流地过孔和包地。放大amplify;ctrl+shift+T:顶对齐;水平居中horizontally;
2024-09-12 10:55:42 866
原创 22-计算机二级-试题集锦
数据库管理系统的三级模式结构由外模式、模式、内模式:外指的是用户看到的数据视图、内指的是对数据的物理结构和存取方式的描述(减少数据冗余)。也就是名字不固定,括号里面的结构类型名才是已经定好了的。2.以0开头的是八进制整数,但只能用0-7表示八进制数,同时要注意一点:e(或E)之前必须有数字,且e后面的指数必须为整数,所以后面但凡为小数和没有数字形式的都不合法。5.在任意一颗二叉树中,度为0的结点(也就是没有特殊说明的)总是比度为2的结点多一个,例如题中度为2的结点数为n,故叶子结点数为n+1;
2024-09-12 10:13:26 824
原创 21-小项目经验集
因为灯带手册上介绍数据发送速度是:800Kbps,所以所以PWM的周期为:800KHZ,也就是1.25us,来回一个周期,而这个周期就是24位(由这24位0/1码来决定这一个灯的颜色),每1位需要要写入的0/1则由其PWM的三分之二是高电平还是低电平,前者则写入1码,后者0码。舵机:选用的是sg90 180度的模拟电机,通过单片机输出的20S为一个周期的PWM波控制,一共0.5ms到2.5ms,每0.5ms为一钟占空比去控制一个角度分别是-90,-45,0,45,90(如图一);而设置的重装载值则如图二。
2024-09-12 10:09:23 885
原创 20-数学建模-常见算法 & Matlab使用
常见模型及实际应用并行算法灰色理论:1.灰色模型(grey models)就是通过少量的、不完全的信息,建立灰色微分预测模型,对事物发展规律作出模糊性的长期描述(模糊预测领域中理论、方法较为完善的预测学分支)。https://zhuanlan.zhihu.com/p/408114002.最小二乘法公式:(矢量化也就是向量化:矢量化是指将缩放器实现转换为向量化实现的所有技术。在向量化实现中,单个操作一次处理单个实体,而单个操作同时处理多个实体。矢量化指的是一种技术,通过这种技术,我
2024-09-12 10:06:46 1195
原创 19-51单片机/STC15/IAP15(小蜜蜂&蓝桥杯全流程攻略学习)
取反后就取到了0,则可以类似有了TR0=~TR0的这种定时器状态翻转的效果。3.TCON和TMOD的区别:一个是按位寻址,一个是按字节寻址,()一位八个字节而穿串口需要全部数据都读取,所以就是用后面的TMOD,如果串口一直是00000这样发过来,可能就是这个串口的初始化没配置对,因为一般如果配置成功的话,默认引脚为高电平,而配置后是低电平,串口会以数据的方式进行收发的,就是不是0;而取反的原因是LED是0低电平亮,而command值和此相反,比如0xA5,就是第一和第三个灯要亮,就要1~=0低则亮;
2024-09-11 16:04:36 1651
原创 18-Oneos学习&应用
一般情况下,启动过程分为硬件上电,首先运行和体系架构相关的启动汇编文件,进行一些最基本硬件的初始化(例如CPU配置,时钟,栈地址,RAM等),为内核运行铺垫好环境,然后初始化内核各模块(例如调度器,定时器等),接着创建系统任务(例如空闲任务)和用户任务,最后启动调度和运行用户程序。每个任务都是独立运行的,所以都有自己的栈空间。2.os_kernel_init中调用_k_run_init_call函数执行OS_INIT_LEVEL_PRE_KERNEL_1,进行内核启动前的第一阶段的初始化。
2024-09-11 15:55:30 829
原创 17-freeRTOS过程实调(外设补充-正点原子)
注意:在选择中断优先级的时候,如果是优先级0—4之间的,不会被用户自己所控制,所以在关掉中断的时候,那个0—4的优先级也不会被控制,而定时器3就是优先级设置为4,正如下图实验的那样,直到过了delay_xms中的5S之后才重新打开定时器,所以定时器5的优先级是5就能重新被控制打开中断。可以用互斥信号量来避免这种情况,可作如下调整:在函数体现方面,直接把二值信号量换成互斥信号量,然后在高优先级请求的时候,会把低优先级的级别抬高,就不会给中优先级运行的机会,自然低优先级运行释放完信号量,高优先级就能获取到了。
2024-09-11 15:51:18 947
原创 16-freeRTOS过程实调(外设)
用作同步时,信号量在创建后应被置为空,任务 1 获取信号量而进入阻塞,任务 2 在 某种条件发生后,释放信号量,于是任务 1 获得信号量得以进入就绪态,如果任务 1 的优 先级是最高的,那么就会立即切换任务,从而达到了两个任务间的同步。内存管理:在一般的实时嵌入式系统中,由于实时性的要求,很少使用虚拟内存机制。假如一个总的系统,如果有三个路口要用到数码管的时候,那三个数码管最好都用一个任务(player_task),这样方便一个任务统一管理,其他任务想显示数码管的时候就写队列,然后有三个队列,
2024-09-11 11:28:50 1185
原创 15-自编写rtos-结合stm32实际调试(ladylolo-os)
函数里面也需要给它分配内存,用上一个函数中的my_malloc来分配,事件等待表也是初始化设为0,因为一开始没有代码需要申请执行(厕所一开始是没人的)。13. //延时就是要先从就绪状态中删除的意思,仅仅是只有一个等待时间的动作,其它动作都不能有,所以要先删除,就是先不要就绪,延时完再创建任务的时候就绪,所以Task_Create里面有个 OSSetPrio(prio);其中num为定义的unsigned int 类型的变量,执行完这条语句之后,i的值就是就绪任务中优先级最高的任务所对应的优先级。
2024-09-09 16:09:43 764
原创 14-LWIP-基于Freertos全程讲解
★网络和MAC内核之间的交流包都是通过以太网DMA,接收发送分别存入到TXFIFO和RXFIFO,然后交流的之间有个缓冲区,而以太网DMA描述符是管理这个缓冲区的,而描述符指向哪个缓冲区,就数据往哪发往哪传收。流程:在发送数据之前,也就是在应用层中,有三个需要知道的部分,一个是pay loader,一个是54字节来存放各层首部,下面一个是16字节用来存放用户数据->到了传输层的时候加个UDP首部(原来的54个字节,要变成了46个字节)->递交到网络层后,加了IP首部,原来的46个字节变成了26个字节。
2024-09-09 16:03:50 1864
原创 13-Linux入门学习(嵌入式)
18、可以用ls –al命令来观察文件的权限,每个文件的权限都用10位表示, 并分为四段, 其中第一段占 1 位, 表示 (文件类型) , 第二段占3位, 表示 (文件所有者)对该文件的权限。解析:ls -al命令来观察文件权限,每个文件的权限都用10位表示,其中第一段占1位,表示第一个字符代表这个文件的类型(目录,文件或链接文件)。若为“d”则是目录,若为“-”则是文件,若为“l”则表示链接文件,若为“”则表示为设备文件里面的可供存储的周边设备,若为“c”则表示为设备文件里面的串行端口设备,如键盘鼠标。
2024-09-06 14:13:53 1840
原创 12-C语言理论&实敲经验积累
10/4这是与C语言运算规则所决定的,10/4=2 10.0/4 = 2.5,整数跟整数运算,得到是整数,小数部分被忽略,整数个浮点数运算得到的是浮点数。例如:换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”。6.注意在调试控制台里面输入两个以上的数据时记得中间的逗号是要用中文的,不然输入不了,结果也不对。这个异常情况是返回给控制台的,不在你编的程序的控制范围内,是给操作系统识别的,对你的程序无影响.
2024-09-06 12:05:16 842
原创 10-电赛-Bowling Ball System板球系统 & 倒立摆
找一个能让板子平衡的角度,然后记下此时的两个PWM值(给到舵机的)--->要知道小球在openmv那里的中心坐标是多少(板子要放到摄像头的正下方)--->pid参数整定的方法:因为舵机有两个xy方向,我们需要鼓动一个方向进行调节,一个方向成功后再换另一个方向,比如先进行x轴移动往目标横向移动,然后再往y轴移动到目标距离,实际就是舵机x先动,舵机y后动,这是越来越近的;给出一个x,y的目标值,就相当于小车位置环里面的目标位置,只不过那是两个的执行机构几乎一样,这个x,y是算出来不一样的位置差值;
2024-09-06 12:01:45 1116
原创 9-电赛-wisdom car-送药小车
有两种情况是要小转,有四种情况是要大转的:最左边为1,最右边为1,左边两个都为1(如图四),右边两个都为1;小幅度左转时,左轮停转,右轮小幅度PWM(25),边向前边右转,划过去,因为右边那个相当于不动;当四个探头都没压线时,根据前一个的角度值决定是直行(直行时PWM给40)还是大幅度转弯;大幅度左转时,左轮反转(PWM给35),右轮正转(PWM给35);因此可以设置速度差,实现大转弯和小转弯的目的;左轮速度>右轮速度;当四个探头同时压线时,停车处理;左边两路巡到了应该往左边转。速度差越大,转弯越大;
2024-06-10 11:59:46 258
原创 8-蓝桥杯-STM32G431RB(补充)
/这个要分清楚中间是一个竖!//permanent course void LED_Close(void)//初始化关灯 {//这个函数:端口,引脚,电平 HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_8 |GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12, GPIO_PIN_SET);} //注意上下两个函数的区分,上一个函数是取与0,后面是取或1!
2024-06-10 11:46:37 966
原创 7-STM32G431RB蓝桥杯
CASE(例程自敲-针对lqb):前两个电位器是调电压的,后两个是调频率的每做一次赛题就要重新开始希望每次重新做一道主观题时,都能重新构建工程->重新编写每个驱动程序->写逻辑层上的代码希望每写一遍,加深一遍记忆。工程建立越熟练越好,基础驱动编写越快越好。赛前准备:十四届解读:客观15%,设计85% 有机器评审,需要严格按照试题初始要求去做,例如这个如果一开始显示的是PA7,那之后按键的切换顺序就会变的;就会导致没了一定分数的,这是比较可惜的,所以我们一定要严格按照
2024-06-10 11:33:07 857
原创 6-STM32最小系统板(江科大-模块补充-protues)
文件模板(三个文件夹):1、最主要的函数是:(虽然很长但时钟配置别看错了字母了).h文件一般都是以下格式:#endif2、添加文件路径,在这里面(图一)就用(图二)的方法。3、特殊功用:STM32的 PA13/14/15 & PB3/4无法正常使用,PA13/14/15 & PB3/4默认配置为JTAG功能。首先,STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG功能。有时我们为了充分利用MCU I/O口的资源,会把这些端口设置为普通I/O口。
2024-06-10 10:33:47 1560
原创 5-STM32最小系统板(江科大)
如果是外设到存储器的数据转运,就不能一股脑转运了,因为外设的数据是有一定时机的,所以这时就需要我们用特定硬件触发,比如转运ADC的数据时,那就得ADC每个通道AD转换完成后,硬件触发一次DMA之后DMA再转运,触发一次,转运一次,这样的数据才是正确的,也才能达到想要的效果;在main.c中调用初始化的之后,就会转运一次,如果想要它不停的转运或者指定一个转运次数的话,就需要写一个特定的函数,每调用一次这个函数,就再次启动一次DMA转运,而在那个函数里面则通过重新给传输计数器赋值,注意赋值前还是需要先失能。
2024-06-09 17:24:46 1038
原创 2-STM32开发(模块学习–全攻略-基础1)
②数据手册datasheet:stm32是32位的寄存器,而配置每个Io口需要四个位,故一组32位只能配置8个io口,但一组io口有16个,所以需要2个32位的寄存器。而GPIOx-CRL是低位,有从PA0到PA7的八个引脚,每个引脚四个位,故有了8个io口。①串口下载需要提前安装CH340(flymcu更想串口后最好点一下搜索串口)一、杂碎misc小知识。
2024-05-19 13:22:38 148 1
原创 1-STM32开发(MCU选型)
HAL库在结构上和标准库基本也是类似,接口调用方式等都是一致的,只是改了一些叫法而已,例如之前标准库叫stm32f4xx_xx.c,现在HAL库叫stm32f4xx_hal_xx.c. )。①其中注意有特殊功用的引脚不能用– STM32的 PA13/14/15 & PB3/4无法正常使用,PA13/14/15 & PB3/4默认配置为JTAG功能。适用于高性能图片显示,多媒体处理等领域。■STM32F2系列:同为M3内核,最高主频120M,结合低功耗与高性能要求,应用于通讯设备、物联网终端等。
2024-05-19 12:03:45 637 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人