- 博客(68)
- 资源 (5)
- 收藏
- 关注

原创 蓝桥杯竞赛单片机组备赛【经验帖】
在此,我首先默认大家在看本贴之前已经掌握基础的C语言知识和计算机知识。具体来说就是,你至少学完了C语言中指针之前的所有内容(例如,数据类型、if、while、for、switch等语句、数组等),至少要知道计算机中最基础的知识(例如,一个字节等于8 bit、逻辑运算等)。
2024-11-14 16:49:41
1145
原创 【手把手论文出图教程】:将Simulink中的实验数据绘成图导入word中并输出高清无失真的pdf文件
本帖将手把手地带领大家把Simulink中的实验数据绘成图,并按照论文的要求插入到word中,直到最后输出高清无失真的pdf文件。
2024-11-23 22:15:39
1684
原创 【解决simulink报错】:使用S-function模块时可能遇到的问题
我在mdlOutputs的代码部分,输出变量有一个dot_a_i用到了u_i,u_i就是模块的输入u(1)。也就是说,我的输出和输入直接相关。我在mdlOutputs的代码部分只输出了四个变量。这时只需要把初始化时的5改为4就行了。我在初始化部分,DirFeedthrough = 0,只需要把它改为1就可以解决报错。1.首先,看一下自己写的代码对应部分是不是输出的变量个数和初始化时写的数目不一致。我初始化时写的输出个数是5,但是。
2024-11-20 19:10:17
982
原创 笔记—学习【立创】如何使用示波器—捕捉波形
在工程实践中,经常要测量一些不连续的波形。例如,USART、SPI、IIC通讯,只有在通讯时才会产生相应的波形,如果示波器的触发模式没有选择好的话,我们是看不到这个波形的。
2024-03-25 16:57:49
1348
原创 我的创作纪念日
我还清楚地记得 2021 年 04 月 06 日那天,我正在准备第十二届蓝桥杯单片机竞赛的省赛,为了能将备赛过程中的学习过程记录下来,我撰写了第 1 篇技术博客:《基于蓝桥杯的单片机模块练习——LED跑马灯》。于是,这看似平凡的一天竟对我今后的学习生活产生了极不平凡的意义。在今后的日子里,我会继续努力学习,我希望,自己无论是在理论方向还是在技术方向,都能有所收获。在现在的日常学习中,我依然坚持更新原创文章,我会把学习技术过程中遇到的问题以及解决办法通过这种形式记录下来,并分享给志同道合的伙伴。
2024-01-26 16:40:20
330
原创 误用STM32串口发送标志位 “USART_FLAG_TXE” & “USART_FLAG_TC”造成的BUG
本来打算发送 0x30 ~ 0x39,却发现少了两个字节,这是因为上面的特殊情况,代码只将数据放到了发送缓冲区,而没有发送出去就掉电或待机了,这个时候其实最后两个字符是没有发送出去的。当然一般情况下这种写法是准确的,特殊情况也很少发生,所以这是可取的。(我不相信那么巧合,正好发送过程中,正好停电)。
2023-12-02 19:31:48
1245
2
原创 EndNote X9新版教程【学习笔记】——编辑参考文献的方法
自动根据不同期刊的格式要求进行图的排版和命名。1.将要插入的图生成一条记录:2.在word中将光标定位到要插入的地方。
2023-04-04 16:48:16
379
原创 基于STM32单片机模块练习——ADC功能框图
ADC功能框图ADC简介并不是每种单片机的三个ADC都有16个外部通道。具体参数看单片机选型手册。ADC功能框图电压输入范围要测的外部电压如果超出0~3.3V的电压呢?通过外部电路把输入电压转换到规定范围。输入通道具体型号的单片机要查看通道转换顺序:触发源转换时间ADC——CLK一般由PCLK2(72M)经过6分频(12M)得到。采样率<1M.独立模式指的是,只使用 ADC1或2或3.高16bit是双ADC模式下存储数据的。note:双ADC模
2021-11-05 20:06:12
800
原创 STM32中TIM_ClearFlag和TIM_ClearITPendingBit有什么区别
STM32中TIM_ClearFlag和TIM_ClearITPendingBit有什么区别/** * @brief Clears the TIMx's pending flags. * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. * @param TIM_FLAG: specifies the flag bit to clear. * This parameter can be any co
2021-10-05 15:16:46
5528
原创 [平衡小车]学习记录
[平衡小车]学习记录硬件部分1.电池锂电池参数释义及注意事项2.小车底盘电机详细参数:编码器参数:3.主控板TB6612直流电机驱动特性:♦电源电压:VM = 15 V(最大)♦输出电流:iout = 1.2a(平均值)/3.2a(峰值)♦输出低导通电阻:0.5ω(上限+下限典型值。@ VM ≥ 5 V)♦待机(省电)系统♦正转/反转/短制动/停止功能模式♦内置热关断电路和低压检测电路控制功能真值表:...
2021-08-19 12:22:34
186
原创 基于STM32单片机模块练习——在使用MPU6050时遇到的令人头疼的问题
在使用MPU6050时遇到的令人头疼的问题1.整个程序在一开始运行就卡死在启动文件首先看一下,Target设置选项下的Use MicroLIB选项是不是选上勾了。如果这个设置也解决不了问题,那么你需要检查一下程序里,是否写了printf函数的接口函数。因为MPU6050里面有用到了这个函数,如果你没写这个函数的接口函数,就会导致系统卡死在系统文件里。printf函数的接口函数///重定向c库函数printf到串口,重定向后可使用printf函数int fputc(int ch, FILE *
2021-08-18 17:07:32
5626
5
原创 基于STM32单片机模块练习——EXTI外部中断
基于STM32单片机模块练习——EXTI外部中断EXTI简介EXTI(External interrupt/event controller)—外部中断/事件控制器,管理了控制器的 20个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI 可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。EXTI 功能框图EXTI 可分为两大部分功能,一个是产生中断,另一个是产生事件,这两个功能从硬件上就有所不同。首先
2021-08-09 13:08:25
548
原创 基于STM32单片机模块练习——中断总结
1.ARM cortex_m3 内核支持 256 个中断(16 个内核+240 外部)和可编程 256 级中断优先级的设置,与其相关的中断控制和中断优先级控制寄存器(NVIC、SYSTICK 等)也都属于cortex_m3 内核的部分。STM32 采用了 cortex_m3 内核,所以这部分仍旧保留使用,但 STM32并没有使用cortex_m3 内核全部的东西(如内存保护单元 MPU 等,只保留了NVIC、SYSTICK ),因此它的 NVIC 是cortex_m3 内核的 NVIC 的子集。
2021-08-09 11:03:48
586
原创 【STM32中断】了解更深入的东西,或者直接对寄存器操作(新手没必要看)
深入NVIC1. 看看 Cortex-M3 中与 NVIC 相关的寄存器有哪些SysTick Control and Status Register Read/write 0xE000E010 SysTick Reload Value Register Read/write 0xE000E014 SysTick Current Value Register Read/write clear 0xE000E018 SysTick Calibration Value Register Read-onl
2021-08-09 11:02:39
539
原创 【台大郭彦甫】matlab学习笔记——基本操作和矩阵输入
5.不要把变量的名字定义成matlab里的关键字,诸如: eps(极小的数)、Inf(无穷大)、i、 j(虚部)、ans、pi、NaN(不是一个数)之类的,因为他们在matlab中已经有了一定的含义。注意:打字的顺序应按照算式计算的优先级,我们手算时,会先计算括号里的,那我们也先敲括号里的内容,也就是,你平时算数的步骤和你敲代码的步骤其实是一致的。cos本来是计算三角函数的一个函数,但是却把它当成一个变量,被赋值了一个字符串,那么cos(8)就不起计算作用了,而是,找到cos中第八个字符。
2021-08-03 16:29:08
1311
1
原创 基于STM32单片机模块练习——认识固件库
认识固件库固件库应该包含的文件新建一个固件库工程1.新建一个工程的总文件夹例如:2.在它之下新建如下文件夹3.打开keil新建一个工程4.选择CPU型号5.添加组文件夹6.添加文件7.配置魔术棒选项卡(1) Target 中选中微库“ Use MicroLib”,为的是在日后编写串口驱动的时候可以使用printf 函数。(2) 在 Output 选项卡中把输出文件夹定位到我们工程目录下的“output”文件夹,如果想在编译的过程中生成 hex 文件,那么那 Create
2021-08-02 19:37:32
841
5
原创 基于STM32单片机模块练习——认识STM32
基于STM32单片机模块练习——认识STM32QFP封装就是贴片封装具体的引脚描述可以查看芯片数据手册
2021-08-02 16:42:41
231
原创 【硬石科技】电机系列教学(基于STM32)——PID算法实现闭环控制
闭环控制系统输入量(目标转速)就是我们的目标值,减去检测装置传回来的实际值(编码器测得的转速),就是实际偏差。将偏差输入到控制器(STM32),运算之后控制执行机构(驱动板和电机),输出被控量。...
2021-07-30 14:47:14
7605
3
原创 【硬石科技】电机系列教学(基于STM32)——直流有刷电机和直流减速电机及其驱动电路
直流有刷电机驱动电路可以把控制电机正反转的工作直接交给MCU,而不需要手动地转换接线端子。
2021-07-20 20:47:01
1648
2
原创 【星曈科技】OpenMv笔记——利用OpenMV与STM32进行串口通信
利用OpenMV与STM32进行串口通信OpenMV端的程序# Untitled - By: dell - 周一 7月 19 2021# Blob Detection and uart transportimport sensor, image, time,pybimport ustructfrom pyb import UART#import json# For color tracking to work really well you should ideally be in a v
2021-07-20 11:50:39
42066
121
原创 【星曈科技】OpenMv笔记——利用物体的像素数进行测距
利用物体的像素数进行测距# Untitled - By: dell - 周一 7月 19 2021# Measure the distance## This example shows off how to measure the distance through the size in imgage# This example in particular looks for yellow pingpong ball.import sensor, image, time# For col
2021-07-19 13:59:46
1072
原创 【星曈科技】OpenMv笔记——单颜色彩色识别
颜色识别单颜色彩色识别# Single Color RGB565 Blob Tracking Example## This example shows off single color RGB565 tracking using the OpenMV Cam.import sensor, image, time#导入此代码所依赖的模块threshold_index = 1 # 0 for red, 1 for green, 2 for blue# Color Tracking Thres
2021-07-18 20:05:42
1034
原创 【野火】电机系列教学(基于STM32)——电机和驱动器简介
电机和驱动器简介一般性区别:有刷电机一般只需两根接线端子就可以驱动,而无刷电机需要三根接线端子进行驱动。
2021-07-16 20:20:10
1511
1
原创 基于STM32单片机模块练习——高级定时器
基于STM32单片机模块练习——高级定时器功能简介两边计数:从0计数到CCR的值,再从CCR的值计数到零。高级定时器GPIO引脚说明高级定时器功能框图1.时钟源1.内部时钟内部时钟 CK_INT 即来自于芯片内部,等于 72M,一般情况下,我们都是使用内部时钟。当从模式控制寄存器 TIMx_SMCR 的 SMS 位等于 000 时,则使用内部时钟。2.外部时钟模式一2.外部时钟模式二3.内部触发输入(了解)2.时基3.输入捕获使用PWM输入捕获,一个输入
2021-07-14 20:17:39
926
3
原创 基于STM32单片机模块练习——基本定时器
基于STM32单片机模块练习——基本定时器功能简介PCLK1的时钟频率为36mhz,但是如果APB1的预分频系数不为1,频率就会X2(72mhz)送给定时器2~7。定时器1和8的时钟来自PCLK2,时钟频率为72mhz。基本定时器的时基内部时钟,经过PSC预分频器后,送给计数器的时钟为:72mhz/(PSC+1),这是系统规定的公式。计数器对此时钟的脉冲进行计数,16bit的计数器最大加到65535,并产生一个中断。我们可以自行配置自动重装寄存器(ARR),定时器只要计数到ARR的值,就
2021-07-14 14:15:16
865
3
原创 【黑马程序员】Python学习笔记(一)编译型语言和解释型语言
【黑马程序员】Python学习笔记(一)编译型语言和解释型语言总结:编译型语言是在执行程序之前,编译器把所有代码给整体编译生成一个可执行文件,用户把这个可执行文件交给操作系统,就可以实现效果,执行速度较快。但是,不同操作系统编译的同一个源代码不能跨平台执行。也就是说,windows系统下编译的可执行文件在Linux系统里不能打开。解释型语言是解释器每次只解释一行代码,然后交给cpu执行一次。直到把全部代码执行完,执行速度较慢。但是,只要是相应操作系统里装有兼容该系统的解释器,那么就可以跨平台地在不
2021-06-14 21:06:21
340
11
原创 基于蓝桥杯的单片机模块练习——独立键盘算法
基于蓝桥杯的单片机模块练习——独立键盘算法C代码#include "key.h"unsigned char keystat[] = {1,1,1,1};unsigned int lkey_count = 0;bit lkey_flag = 0;code unsigned char KeyCodemap[4] = {0x07,0x06,0x05,0x04};void KeyAction(unsigned char KeyCode){ switch(KeyCode) { case 0x0
2021-06-03 17:07:58
207
2
原创 第九届国赛编程时遇到的玄学问题
第九届国赛编程时遇到的玄学问题void Display_HC(){ SegBuffer[0] = 0x89; SegBuffer[1] = SegCode[12]; SegBuffer[2] = 0xff; SegBuffer[3] = 0xff; SegBuffer[4] = SegCode[(WriteBuf[0]*100+WriteBuf[1])/1000]; SegBuffer[5] = SegCode[((WriteBuf[0]*100+WriteBuf[1])/100)%10
2021-06-02 20:02:53
182
1
原创 基于蓝桥杯的单片机模块练习——IIC驱动的注释及修改
基于蓝桥杯的单片机模块练习——IIC驱动的注释及修改iic.c/* 程序说明: IIC总线驱动程序 软件环境: Keil uVision 4.10 硬件环境: CT107单片机综合实训平台 8051,12MHz 日 期: 2011-8-9*/#include "iic.h"//=====================================================//总结:IIC_SendByte(unsigned char byt)函数不要忘记释放SD
2021-05-20 19:23:27
545
原创 基于蓝桥杯的单片机模块练习——第十届决赛串口部分
基于蓝桥杯的单片机模块练习——第十届决赛串口部分unsigned char Uart_Buf[12], Uart_Num = 0;//$20,24.32\r\n因为最多会发送12个字符,结尾还有一个‘\0’void UartInit() //4800bps@12.000MHz{ SCON = 0x50; // 8位数据,可变波特率 AUXR |= 0x01; // 串口1选择定时器2为波特率发生器 AUXR |= 0x04; // 定时器2时钟为Fo
2021-05-19 19:41:38
580
2
原创 STC对单片机相关学科群部分课程改革呼吁
STC对单片机相关学科群部分课程改革呼吁我觉得如果高校真能践行这种改革,培养出的学生会更优秀,我们的大学也不会白上。
2021-05-13 22:01:52
162
1
原创 基于蓝桥杯的单片机模块练习——DS18B20温度传感器各类异常情况总结
基于蓝桥杯的单片机模块练习——DS18B20温度传感器各类异常情况总结开始时显示85原因:因为温度传感器的温度转换需要一定的时间,所以刚一开始温度转换然后紧接着读取温度,再显示出来,他读取的温度便是上一次转换的结果,由于ds18b20初始温度值为85,所以这里的“上一次转换的结果”就是85.解决方法:在程序初始化的部分加上 Read_Temperature();//此时读取的温度值为默认的85 Delay_1ms(750);//等待上一个read函数温度转换完成 Read_Tempe
2021-05-08 22:15:53
6005
2
51 Project(very important).zip
2021-05-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人