-
作为一名程序员,在初步学习编程想必都绕不开一个最为基础的入门级示例“HelloWorld”,那么,在学习单片机时,最基础的入门示例是什么呢?没错,那就是“点亮一盏LED灯”本次将通过一个经典的跑马灯程序,带大家开启STM32F4之旅,通过本次的学习,你将了解到STM32F4的IO口作为输出使用的方法。我们将通过代码控制STM32F4开发板上的两个LED:DS0和DS1...[详细]
-
在STM32L0中操作EEPROM本来参考了上篇操作FLASH的方法,多多少少都有些问题。我觉得可能是结构体在转换成其他变量的时候出了问题。比如下面这段代码,在Windows上可以正常运行(使用g++编译),但是在单片机上就会卡死。typedefstruct{uint8_tIDD;uint8_tzero;uint8_tdutyCorr;}usrfl...[详细]
-
1、HT1621电路分析HT1621为32×4即128点内存映像LCD驱动器,包含内嵌的32×4位显示RAM内存和时基发生器以及WDT看门狗定时器.HT1621驱动电路如下图所示:图1与单片机相连接控制的有9脚CS,3脚WR,12脚DATA,其功能描述如下表。图22、字符显示原理液晶管点亮和熄灭原理分别为在对应的RAM地址中写1和写0.首...[详细]
-
usb_pwr.c这个文件看文件名就知道跟功耗有关了,有很多的状态:上电、掉电、挂起、恢复。当首先是usb的上电和断电函数的定义了。usb上电函数如下:/********************************************************************************FunctionName:PowerOn*Descri...[详细]
-
需要用到外设的重映射功能时才需要使能AFIO的时钟外部中断(EXTI)中与AFIO有关的寄存器是AFIO-EXTICR1、2、3,它们是用来选择EXTIx外部中断的输入脚之用。举例:重映射USART2USART2的TX/RX在PA.2/3PA.2已经被Timer2的channel3使用需要把USART2的TX/RX重映射到PD.5/6库函数的调用(1)使能被重新映射到的I/O端口...[详细]
-
在写单片机程序时我们一般喜欢使用printf来通过串口打印调试信息,但这个函数是不可以直接使用的,必须做点对库函数的改动。STM32MCUBE是ST官方提供的库以及初始化工具,很好很强大,但是在UART方面值提供了如下函数:HAL_StatusTypeDefHAL_UART_Transmit(UART_HandleTypeDef*huart,uint8_t*pData,uint16...[详细]
-
具体实现功能(1)根据红外传感器原理,用两个按键代替驶入检测红外传感器和驶出检测红外传感器,驶入按键按下表示有车进入停车场,驶出按键按下表示车辆离开。(2)LCD1602实时显示当前时间,按键切换后,显示停车场驶入车辆数、驶出车辆数、现有车辆数及剩余停车位数,总共16个车位,指示灯指示具体的车位占用情况。(3)可以手动设置现有车辆数及剩余车位数;车位满后将报警提示。仿真演示视频:h...[详细]
-
一.双Bank机制STM32G系列的Flash支持Singlebankmode和Dualbankmode,Singlebankmode即常规的Flash模式,Dualbankmode会将Flash分为两块,正常情况下系统复位时会从Bank1启动,0x08000000对应为Bootloader复位向量,首先运行的代码为Bootloader。Bootloader跳转APP时...[详细]
-
测试效果bsp_usart_dma.c文件代码#include"bsp_usart_dma.h"u8RxBuffer={0x00};//串口1接收后存放到此数组u8TxBuffer={0x00};//串口1发送此数组的数据u16RxBufferSize=0;voidusart_dma_init(void){GPIO_InitTy...[详细]
-
今天在使用stm32f407的HAL库发现一个BUG。当时我中断使用多了、把所有time定时器使用了4个外部中断、不管怎么调整nvic不管用。这个时候HAL串口接收功能已经崩溃、已经无法正确接受数据、串口发送也会卡死。这个网上可以查到这个BUG是由于hal库运行速度缓慢导致的、目前没有很好的办法解决。这个时候我果断转了ll库、瞬间解决再也没有这些问题了。稳。当然这个bugF不管103...[详细]
-
源代码:#includereg52.h#includeintrins.h#defineLcdDataPortP2typedefunsignedcharu8;typedefunsignedintu16;sbitBusy=P2^7;sbitReset=P3^0;sbitRS=P3^1;...[详细]
-
STM32Cube家族的软件工具,从选型到开发/调试,到代码二进制烧录,选项字节操作,到运行监测,覆盖了全部的开发过程。它们各自有功能侧重,也有功能重叠,但是合在一起,就提供给STM32开发者,一个无缝的开发平台。STM32CubeMX通用功能:从选型到初始工程建立STM32CubeMX是被最广泛使用的工具,它集成了芯片选型、引脚分配和功能配置,中间件配置,时钟配置,初始代码和项目的功能...[详细]
-
软件版本号:keil版本号:keil软件版本proteus版本号:proteus软件版本下载:相关keil源代码和proteus文件下载链接如下:链接:https://pan.baidu.com/s/1RuYRmrCz-q4vhpFdMRe7xA?pwd=voq9提取码:voq9解压:下载之后解压缩即可得到相对应的文件(建议直接解压在D盘的子目录下以防止中文路径...[详细]
-
今天的主题是编写一个GPIO端口的置位和复位程序,GPIO在完成了一个工作之后要把它恢复到工作之前的状态(GPIO的复位值)叫做复位或者(设置为其他状态)置位。头文件和C文件的创建编写这个函数,我们首先建立一个叫“stm32f10x_gpio.c”的C文件,和一个“stm32f10x_gpio.h”C语言头文件。如图导入工程列表再回到工程界面,双击SourceGroup1文件夹添...[详细]
-
概述在嵌入式领域,TFT-LCD屏是最常用的显示解决方案之一,因为它们提供了丰富的颜色和高分辨率的图像显示能力。STM32H5作为ST的高性能微控制器系列,具备了强大的处理能力和多种通信接口,非常适合于驱动TFT-LCD显示屏,该液晶屏st7796或者ILI9488驱动芯片,这两个屏幕都是兼容的。样品申请https://www.wjx.top/vm/PpC1kRR.aspx视频教学...[详细]