柯宝最帅
好记性不如烂笔头
展开
-
【STM32学习】——续上:软件SPI读写W25Q64&SPI通信外设&硬件SPI读写W25Q64
接着STM32专栏未更新完的,软件读写SPI程序代码,硬件SPI外设及硬件SPI读写程序!原创 2024-02-22 18:05:44 · 1541 阅读 · 27 评论 -
【实用小总结】——STM32定时器库函数&常用的中断函数&输出比较功能函数&参数单独修改函数
时钟源选择就用上面六个函数!时基单元用TIM_TimeBaseInit函数,中断输出控制用TIM_ITConfig函数,NVIC用外部中断讲过的NVIC_Init函数,运行控制用TIM_Cmd函数,这样初始化基本就可以了!,下面还有一些小功能和运行时更改参数的函数,(运用PWM实操用到了)就基本可以配置输出比较了。,有兴趣可参考手册,原创 2023-03-20 18:56:46 · 2675 阅读 · 5 评论 -
【STM32学习】——SPI通信协议&SPI时序&W25Q64存储芯片&软件SPI读写
声明:学习笔记来自江科大自化协B站教程,仅供学习交流!!对于SPI通信的学习和I2C一样,分为软件模拟实现和硬件配置实现读写W25Q64 Flash存储器!SPI传输数据的速度更快,协议没有严格规定最大传输速度,取决于芯片厂商需求;SPI的设计比较简单粗暴,实现的功能没有I2C多,比较简单;SPI硬件开销比较大,通信线的个数较多,且通信过程经常有资源浪费的现象——“富家子弟,有钱任性”,只在乎任务快速完成!原创 2023-09-07 09:57:34 · 4281 阅读 · 47 评论 -
【STM32学习】——STM32-I2C外设&硬件读写MPU6050&软硬件读写波形对比
声明:学习笔记来自江科大自化协B站教程,仅供学习交流!!上接上次学习的I2C协议和软件读写MPU6050,接下来继续学习STM32的I2C外设和硬件读写I2C!姿态传感器在平衡车、无人机等方面应用广泛!不同于串口,因为I2C位同步通信软件模拟协议应用也很广泛!但硬件实现协议也具有独特优势:执行效率高节省软件资源、功能强大可实现完整的多主机通信模型、时序波形规整、通信速率快等。本次学习只需掌握一主多从、7位地址模式即可。原创 2023-03-31 12:59:57 · 2205 阅读 · 0 评论 -
【STM32学习】——TIM定时中断&基本/通用/高级定时器&秒计时代码实操&对射式红外传感器翻转电平计数
定时中断基本结构:1、TIM(Timer)定时器,定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断。2、原创 2023-03-15 17:12:58 · 1589 阅读 · 3 评论 -
【STM32学习】——USART串口数据包&HEX/文本数据包&收发流程&串口收发HEX/文本数据包实操
本次学习有两个实操代码,第一个是串口收发HEX数据包,第二个是串口收发文本数据包做任何事情,都要有一股坚忍不拔的毅力,只要坚持,挺过风雨,终会看见彩虹;只要坚持,走过黑暗,总会拥抱黎明;只要坚持,战胜失败,总能赢得成功!今天的学习分享到此就结束了,我们下次再见!!STM32定时器输入捕获(IC)STM32定时器输出比较(PWM波)STM32定时中断STM32外部中断STM32GPIO精讲。原创 2023-03-27 22:05:54 · 5778 阅读 · 1 评论 -
【STM32学习】——定时器输出比较功能&PWM脉宽调制&通用/高级定时器输出比较通道&舵机/直流电机简介&PWM驱动呼吸灯/舵机/直流电机代码实操
定时器输出比较功能比较重要,主要用来输出PWM波形,PWM波形又是驱动电机的必要条件,智能车、机器人的电机都可能用到!!本次学习有三个实操,分别是PWM驱动LED呼吸灯、PWM驱动舵机、PWM驱动直流电机。1、OC(Output Compare)输出比较,IC(Input Capture)为输入捕获,CC(Capture/Compare)一般表示输入捕获和输出比较的单元!原创 2023-03-17 13:28:46 · 4323 阅读 · 3 评论 -
【STM32学习】——串口通信协议&STM32-USART外设&数据帧/输入数据策略/波特率发生器&串口发送/接受实操
本节学习两个代码,第一个为串口发送,第二个为串口发送+接收。串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信。单片机的串口可以使单片机与单片机单片机与电脑单片机与各式各样的模块互相通信,极大地扩展了单片机的应用范围,增强了单片机系统的硬件实力。主要特点就是用在单片机和电脑之间,其他如I2C、SPI等较复杂的通信协议多用在芯片与芯片之间,陀螺仪加速度计测量姿态芯片与STM32、MPU6050与STM32。左图为一个USB转串口模块。原创 2023-03-26 21:00:40 · 3384 阅读 · 0 评论 -
【STM32学习】——ADC模数转换器&外挂式/STM32的逐次逼近型ADC&输入通道/转换模式/触发控制/数据对齐/转换时间/校准&AD单/多通道实操
本次学习有两个实操程序,第一个程序为AD单通道,第二个为AD多通道STM32的ADC为12位,AD最大值是4095,对应最大电压3.3V,可对0-3.3v之间的任意电压量化,所以ADC相当于一个电压表。而对于GPIO而言只能读取引脚的高低电平两个值。注:开关控制对应ADC_Cmd库函数,用于给ADC上电ADC(Analog-Digital Converter)模拟-数字转换器,ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁。原创 2023-03-24 21:24:23 · 3018 阅读 · 4 评论 -
【STM32学习】——基于库函数开发配置&工程架构&配置步骤&注意事项
建立工程文件夹,Keil中新建工程,选择型号;工程文件夹里建立Start、Library、User等文件夹,复制固件库里面的文件到工程文件夹;工程里对应建立Start、Library、User等同名称的分组,然后将文件夹内的文件添加到工程分组里;工程选项,C/C++,Include Paths内声明所有包含头文件的文件夹工程选项,C/C++,Define内定义USE_STDPERIPH_DRIVER。原创 2023-03-11 12:13:50 · 690 阅读 · 0 评论 -
【STM32学习】——调试方法&OLED驱动代码&OLED调试实操&调试技巧
OLED快速使用驱动函数上手!!原创 2023-03-12 22:35:43 · 2074 阅读 · 0 评论 -
【STM32学习】——DMA数据转运&存储器映像&DMA请求&数据宽度于对齐&数据转运+DMA实操&ADC扫描模式+DMA实操
本次学习共有两个程序。第一个为DMA数据转运,使用DMA进行存储器到存储器的数据转运,即把一个数组里的数据复制到另一个数组里。第二个为DMA+AD多通道,直接存储器存取或访问。从名字看,DMA这个外设可以直接访问STM32内部的存储器,包括运行内存SRAM、程序存储器Flash和寄存器等等。2、DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输,无须CPU干预,节省了CPU的资源。外设。原创 2023-03-25 17:37:21 · 2353 阅读 · 0 评论 -
【STM32学习】——C语言应该注意的点(数据类型&宏定义&typedef&结构体&枚举类型)
注:51中int占了16位,STM32中int占32位,若要使用16位数据可用short类型;且long与unsigned long也占了32位与int一样,若要用到64位则用long long和unsigned long long。表格后两列为对关键字的另一种命名(新名字)以上的这些点虽然看起来复杂且多此一举,但当工程复杂起来时就会体会到它们的妙用!原创 2023-03-12 09:34:03 · 736 阅读 · 0 评论 -
【STM32学习】——GPIO基本结构&位结构&8种工作模式&LED蜂鸣器输出实操&按键传感器输入实操
GPIO(General Purpose Input Output)通用输入输出口 可配置为8种输入输出模式引脚电平:0V~3.3V,部分引脚可容忍5V输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等。原创 2023-03-12 11:23:49 · 1390 阅读 · 0 评论 -
【STM32学习】——定时器的编码器接口&正交编码器&编码器接口测速代码实操
引入:本实操案例与之前学习外部中断时写的旋转编码器计次的代码实现的功能基本一样,只不过之前的是通过触发外部中断,在中断函数中手动(软件++)进行计次;本代码是通过定时器的旋转编码器接口来自动计次的,使用编码器接口的好处是节约软件资源,避免频繁进中断而只是执行简单的++操作(极大浪费软件资源)。应用场景:编码器测速一般应用在电机控制的项目上,使用PWM波驱动电机,再使用编码器测量电机速度,然后再用PID算法进行闭环控制!注意:一般电机旋转速度比较高,会使用无接触式的霍尔传感器或光栅。原创 2023-03-18 15:32:44 · 2797 阅读 · 4 评论 -
【STM32学习】——中断系统&STM32中断简介&EXTI外部中断&旋转编码器接线及代码实操
一、中断系统1、中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行例如利用定时器中断代替Delay函数实现定时或计数功能!!2、中断优先级:当有多个中断源同时申请中断时,CPU会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中断源3、中断嵌套:当一个中断程序正在运行时,又有新的更高优先级的中断源申请中断,CPU再次暂停当前中断程序,转而去处理新的中断程序,处理完成后依次进行返回4、执行流程利用原创 2023-03-13 20:02:57 · 1452 阅读 · 4 评论 -
【STM32学习】——定时器输入捕获(IC)&PWMI模式&频率测量方法&主从触发模式&IC模式测频&/PWMI模式测频率及占空比
输入捕获模式测频率、PWMI模式测频率和占空比。测频法利用之前的外设就可实现,如对射式红外传感器计次、定时器外部时钟等稍加改进就可!可自行实验,本次实操用的是测周法注:考虑到初学者可能没有信号发生器,我们借用了上一小节定时器输出比较产生PWM的代码在PA0产生信号波形!!如果有示波器的话,也可以测试验证下程序的结果是否正确。输出比较与输入捕获对比:1、输出比较引脚是输出端口,输入捕获引脚是输入端口。2、输出比较是根据CNT和CCR的大小关系来执行输出动作;原创 2023-03-18 09:37:24 · 3431 阅读 · 3 评论 -
【STM32学习】——I2C通信协议&MPU6050姿态传感器&软件I2C读写MPU6050
同步,半双工。异步通信(如串口)如果发送方发送一半突然进中断停止了,接收方是不知道的,这是不允许的,异步对硬件外设USART电路依赖性很强,虽然也可软件实现,但因为对时间要求严格所以一般不用软件。同步协议由于存在时钟线SCL,对时间的要求就不高,发送方可随时停止去处理其他事情(因为暂停传输的同时,时钟线也暂停了)。半双工也可大大节约硬件资源。带数据应答 支持总线挂载多设备(一主多从、多主多从)。一主多从。原创 2023-03-30 13:17:49 · 3430 阅读 · 3 评论