推荐阅读最新更新时间:2024-03-16 16:10
STM32F103标准库开发---精准延时delay---SysTick使用
一、SysTick使用详解 1. SysTick简介 SysTick是一个24bit的倒计数定时器,具有自动重载和溢出中断功能,所有基于Cortex_M3处理器的微控制器都有一个SysTick定时器,从而获得一定的时间间隔。 2. SysTick相关寄存器 状态寄存器-CTRL STCLK外部时钟源:AHB总线时钟的 1/8 FCLK 内部时钟:AHB总线时钟——STM32F103是72MHz 重装载数值寄存器-LOAD 当前值寄存器-VAL 校准寄存器-CALIB 二、编写精准延时——delay 1. 非中断式精准延时 void delay_us(uint16_t us)//uS微秒级延时程序(参考值即是延时
[单片机]
STM32F103使用CubeMX创建工程
ctrl+N新建一个工程。 选择芯片,左边可以筛选。 配置RCC: 选择晶振输入: 设置时钟树: 设置PB5和PE5为输出: 设置引脚初始低电平,推挽输出,无上下拉,最高速度(50MHz) 设置工程属性: 生成完成: 生成的代码添加两行修改GPIO的代码: 下载验证,精英板的两个灯一亮一灭,使用CubeMX创建工程成功!
[单片机]
STM32F103以SPI 驱动128*128的TFT彩屏
0. 关于本文: 其实我一直都比较懒,不喜欢写博客。但网上关于详细讲解SPI驱动LCD的文章比较少,虽然也能下载到一些案例程序,但对于初学者来说,如果不懂LCD驱动的原理,不懂如何对文字和图片取模,即便拿到了别人的代码,也是一脸懵很难移植。所以写下本文,大家有不明白的,欢迎留言区一起交流,谢谢! 1. 实验任务: 本实验使用 STM32F103R6 芯片,通过软件SPI的方式,控制128*128分辨率的LCD,实现在液晶屏上显示汉字,英文,数字,图片等内容。 2. 实验效果展示: 3. 硬件设计 4. 硬件SPI和软件SPI的比较 本实验用的是软件SPI的方式来控制LCD。好处是可以使用任意的单片机引脚
[单片机]
STM32F103VB的SD卡在应用编程设计
引言 对于大部分基于闪存的嵌入式系统来说,一项重要的需求就是当这些系统安装在终端产品上后,具有对固件更新的能力,这个能力称为在应用编程(In-Application Programming,IAP)。在应用编程方式允许用户在程序运行过程中对程序存储器的指定区域进行重新烧写,因此广泛应用于工业生产设备、智能仪器仪表、消费电子类产品的固件更新、软件维护和功能扩展上。 目前使用的在应用编程方案大多是通过嵌入式系统的串口或者网络接口并与PC机相连,再通过上位机软件或者网络完成对系统固件的更新,对硬件环境要求较高。考虑到目前工业设备、智能仪器和消费电子类产品多使用SD卡作为数据存储媒介,或者预留SD卡接口,在此拟采用SD卡作为固件更新
[单片机]
基于STM32F103C6与CAN收发器L9616实现一体化步进电机驱动器设计
引言 当前,步进电机已经在工业应用,如自动剥线机、工业机器人、雕刻机、植毛机工作台等涉及到精确定位的场合,得到广泛的应用。常用的步进电机控制系统由驱动模块和控制器模块组成。驱动模块实现功率放大,控制器模块用于产生电机转动的控制信号,上述控制方法将会大量占用控制核心的资源,影响控制系统的实时性及灵活性。本文设计的步进电机驱动器,将控制电路和驱动模电路集成在同一个模块上,减少系统中主控核心的负担,提高系统的实时性、可靠性,可以使系统设计变得更加灵活、方便。 1、 CAN中继器硬件的设计 1.1 系统的硬件结构 本文设计的基于CAN总线的一体化两相步进电机驱动器系统框图如图1所示,包括CAN收发器L9616、MCU STM32F10
[单片机]
STM32F103程序设计-9-USB转TTL串口(收发)
在上一个例程USB转TTL串口(printf)的基础上进行修改。主要修改了以下几点内容: 1.由于不要使用printf了,所以把PUTCHAR_PROTOTYPE的定义部分去掉。 2.从官网例程中找到串口收发数据的代码,并融合到新定义的串口收、发数据的函数中。 例程中串口发数据的代码(已进行细微改动): /* Send one byte from USARTy to USARTz */ USART_SendData(USART1, data); /* Loop until USARTy DR register is empty */ while(USART_GetFlagStatus(USART1, USART_FLAG_TX
[单片机]
stm32F103状态机矩阵键盘
矩阵键盘程序,作为麦知club小车项目的一部分,从IAR状态机应用修改而来。 IAR7.4+STM32CUBEMX调试通过。 键盘行4,列3,每条线都有10K上拉电阻。改到4×4矩阵也很容易。 行线设置为 输入,针脚为浮空; 列线设置为开漏输出。 不支持长按和组合键,主要是我不会改。 在OS中使用20ms任务周期调用。 以下贴出代码。 keypad.h /* * * Name: keypad.h */ #ifndef KEYPAD_H #define KEYPAD_H #include stm32f1xx_hal.h #include pinname.h #define PORT_KEY GPI
[单片机]
STM32F103C8T6使用MDK 4.12中Custom_HID的修改方法
目的,由上位机发送64字节,设备回应3个字节,功能自定。。 板子使用的是最小核心板,MCU为STM32F103C8T6。 USB的D-和D+分别接到PA11(USBDM)和PA12(USBDP)上,PA12(USBDP)即D+通过跳线使上拉1.5K电阻到VCC(3.3V)。 1:打开MDK4.12,打开 C:KeilARMExamplesSTSTM32F10xUSBLibDemosCustom_HIDproject目录下的Custom_HID项目文件。 2:选择菜单 Project- Options for Target 'STM3210E-EVAL' 在Device选项卡里选择 STM32F103C8。 在Out
[单片机]