写在最前面通过点亮LED入门,采用两种方式,本节采用寄存器操作,下一节采用库函数操作,寄存器操作主要帮助大家理解stm32底层是怎么实现的,在此基础上再采用库函数操作,虽然以后基本以库函数操作为主,但是理解寄存器操作也非常重要!启动文件添加在上一小节中有这么一张图,左侧栏除了“main.c”,还有“startup_stm32f10x_hd.s”。以后随着学习的深入大家会知道很多工作Keil软件给我
终于要点灯了!在点灯之前,我们需要做的应该是看板子的原理图,找准LED的GPIO口,以及他的相关电路,以此我们才知道应该配置成什么,上图! 如图,LED模块有三个,LED0和LED1以及一个电源信号灯,而且LED1和LED0接的都是VCC,然后就去寻找LED0和LED1对应的引脚,对应的是PF9和PF10.正因为LED接的是vcc,因此我们要想使其导通应该给低电平,这样才能使其导通。明
首先,下载好需要用的2个软件,keil5和stm32 cubemx1、打开keil安装全家桶,安装keil,点击这里,参考第三个PPT—如何安装进行安装, 在安装后,下载需要用的数据,如下图,这个是根据自己的板的芯片所定的,我的是stm21F1,所以下载对应的即可,后续在keil5中建立文件夹需要用到 问可以根据野火视频,在keil官网中直接下载,下载后,把uv4托到kiel5
转载 2024-05-28 22:02:36
167阅读
文章代码使用 HAL 库。@TOC一、1.PWM原理PWM全称为脉冲宽度调制(Pulse Width Modulation),是一种常用的调制技术。它通过改变信号脉冲的宽度来控制电路或装置的输出功率或电压。在PWM中,周期性的方波信号被产生,其中脉冲的宽度是可变的,而脉冲的频率是固定的。通常,PWM信号的周期称为周期时间,而脉冲的占空比则是脉冲宽度与周期时间之间的比值。PWM信号可用于控制电机速度
原创 2023-12-08 09:10:36
286阅读
一:编译第一个程序 int main()  //主函数 { } void SystemInit()  //在执行主函数前,会被调用。不进行实现。在启动文件中被调用 { } ; Reset handler Reset_Handler PROC EXPORT Reset_Handler [WEAK]
转载 2024-05-07 07:49:26
346阅读
文章代码使用 HAL 库。@TOC一、1.PWM原理PWM全称为脉冲宽度调制(Pulse Width Modulation),是一种常用的调制技术。它通过改变信号脉冲的宽度来控制电路或装置的输出功率或电压。在PWM中,周期性的方波信号被产生,其中脉冲的宽度是可变的,而脉冲的频率是固定的。通常,PWM信号的周期称为周期时间,而脉冲的占空比则是脉冲宽度与周期时间之间的比值。PWM信号可用于控制电机速度
原创 2023-12-10 09:35:12
336阅读
@TOC前言一、GPIO的概念STM32是一系列微控制器芯片的品牌,它们用于控制各种电子设备。其中的GPIO是通用输入/输出端口的简称,是STM32芯片上的一些引脚,用于与外部世界进行通信。 想象一下STM32芯片就像一个微型大脑,而GPIO引脚就是它的手臂和感官。这些手臂可以用来连接到LED、按钮、电机、传感器等外部设备,而感官则可以用来接收来自外部世界的信息,比如检测按钮是否被按下,或者读取
原创 2023-10-16 20:43:49
417阅读
(文章目录) 前言 本篇文章将带大家学习如何使一个LED闪烁。 一、cubeMX配置 CubeMX配置和点亮一个LED的配置方法是一样的,点亮一个LED。 二、使用HAL库函数点亮LED HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_RESET); HAL_Delay(500);//HAL库自带的ms级延时函数 HAL_GPIO_WritePin(G
原创 2023-07-15 08:15:14
757阅读
大家好,我是程序员小哈。综合实例:自动洗碗机的分享,上周五的直播完成了核心板的焊接,板子设计好了,也焊接完毕了,那么如何验证是否正确呢,既然是从0到1的教程,那么我们就先实现一个点灯功能吧。学习目标STM32开发环境搭建从无到有创建一个STM32的Keil工程点亮核心板上的LED开发环境搭建STM32开发环境搭建参考:STM32开发环境搭建全过程分享视频介绍了MDK5软件的安装过程、STM32F1
串口程序:hal.h#ifndef HAL_H#define HAL_H//输出宏定义//清零#define LED1_OFF  GPIO_ResetBits(GPIOA, GPIO_Pin_8)//置一#define LED1_ON   GPIO_SetBits(GPIOA, GPIO_Pin_8)#define LED2_OFF  GPIO_ResetBits(G
转载 精选 2013-07-10 16:20:52
1761阅读
最近因为工作需要使用到了STM32F407VET6的USB_OTG_FS作为虚拟串口。 之前用STM32 CubeMX生成过STM32F103C8T6的虚拟串口代码,感觉用起来很方便,于是这次的F407也用MX生产工程,奈何竟然遇到诸多难题,整整困扰了两天。 先说一下我的流程。MX生成F407 USB虚拟串口工程操作流程1,选择芯片先是利用条件筛选选择自己的芯片,如下图:2,配置管脚配置RCC
STM32CUBEIDE.7----USART收发配置概述样品申请视频教学生成例程STM32CUBEIDE配置串口重定向串口发送接收函数HAL_UART_Transmit()发送HAL_UART_Transmit_IT()发送HAL_UART_Transmit()和HAL_UART_Transmit_IT()对比HAL_UART_Receive()接收HAL_UART_Receive_IT()接
STM32的通信接口STM32主要用的通信接口有USART、IIC、SPI、USB、CAN。这些通信接口的主要目的是将设备的数据传送到另一个设备,扩展硬件系统。 在串口通信中有着TTL、RS232、RS485等电平标准。其中TTL和RS485都为正逻辑,只有RS232为负电压表示1,正电压表示0.TTL:+3.3V或+5V表示1,0V表示0.RS232:-3V—— -15V表示1,+3V——+15
  目录目录一、第一个汇编程序的创建过程(基于MDK)二、HEX文件格式的分析说明三、汇编语言"hello_world"程序——LED闪烁四、总结五、参考文献一、第一个汇编程序的创建过程(基于MDK)1、双击打开keil_uVsion5(也叫MDK),进入软件界面2、找到左上角的project后下拉选择new_uVsion_project新建工程项目,项目名可自行定义,此处我
STM32基础知识3-STM32串口USART1的使用方法和程序 通用同步异步收发器(USART)提供了一种灵活的方法来与使用工业标准NR 异步串行数据格式的外部设备之间进行全双工数据交换。 USART利用分数波特率发生器提供宽范围的波特率选择,支持同步单向通信和半双工单线通信。 1、STM32固件库使用外围设备的主要思路 在STM32中,外围设备的配置思路比较固定。首先是使能相关的时钟,一方面是
转载 2024-09-12 20:32:36
55阅读
 文章目录ADC+TIM+DMA采集交流前言模式简介工程建立时钟配置ADC配置配置串口代码生成代码编写串口重定向ADC采集代码硬件连接运行结果练习后记 模式简介ADC+TIM+DMA采集交流信号是电赛中使用范围最为广泛的一个技术。这个模式下单个ADC可以实现0-1M的任意可调采样率,采集20khz一下的信号轻轻松松。F1的ADC支持许多触发信号,这里选择TIM3的TRGO事件作为触发信号
红外寻迹传感器驱动红外寻迹传感器具有一对红外线发射管与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,输出接口会输出一个数字信号(低电平或高电平,取决于电路设计),有效范围一般为2~30CM。传感器主动红外反射探测,因此反射率和形状是探测距离的关键。其中黑色探测距离小,白色距离大;小面积物体距离小,大面积距离大。本实例将演
一、实验工具:STM32开发板一块、L298N电机驱动、直流电机以及用到的软件(STM32CubeMX、keil4) 二、编码器原理1.概述:编码器是一种将角位移或者角速度转换成一串电数字脉冲的旋转式传感器。编码器又分为光电编码器和霍尔编码器,我们这里用到的是霍尔编码器。2.霍尔编码器工作原理:一种通过磁电转换将输出的机械几何位移量转换成脉冲或数字量的传感器,霍尔编码器室友霍尔马盘和霍尔
转载 2024-09-25 08:19:37
244阅读
1、led.c的详细的代码: /* */ #include "led.h" /* 文件名称:led.c 描写叙述 :依据硬件连接配置LEDport,打开相应的寄存器 */ void LED_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; //打开P
转载 2017-07-01 12:49:00
133阅读
2评论
一、DAC简介DAC(Digital-to-Analog Converter),即数字/模拟转换模块,故名思议,它的作用就是把输入的数字编码,转换成对应的模拟电压输出,它的功能与 ADC 相反。在常见的数字信号系统中,大部分传感器信号被化成电压信号,而 ADC 把电压模拟信号转换成易于计算机存储、处理的数字编码,由计算机处理完成后,再由 DAC 输出电压模拟信号,该电压模拟信号常用来驱动某些执行器
  • 1
  • 2
  • 3
  • 4
  • 5