推荐阅读最新更新时间:2024-11-12 11:08
STM32CUBEMX开发GD32F303(3)----点亮LED
概述 以 STM32 CUBEMX创建STM32F103工程,同时移植在 GD32 F303中,同时通过J-LINK烧录GD32303C_START和GD32303E_EVAL开发板内进行验证。需要样片的可以加群申请:6_15061293。 芯片 申请 芯片和开发板都可免费申请,暂时只能以公司名义免费申请,填下下面表格即可。 硬件 准备 这里准备了2块开发板进行验证,分别是GD32303C_START和GD32303E_EVAL开发板。 开发板管脚配置 在GD32303C_START中的 LED 管脚配置如下所示。 在GD32303E_EVALT中的LED管脚配置如下所示。 STM32CUBEMX配置 以ST
[单片机]
STM32F103定时器PWM驱动步进电机加减速
背景 之前学习了定时器的一些基本知识,实现了1ms的定时,本次学习定时器的PWM功能,用定时器产生的PWM波作为步进电机的脉冲频率,实现步进电机转动控制,并实现电机S型曲线的加减速控制。 步进电机基本知识 步进电机根据接线关系分为双极性和单极性,单极性两组线圈中间有抽头,接电源;而双极性的线圈中间无抽头。本次实验采用双极性42步进电机,24V供电。 步进电机外观图 电机驱动原理图及控制接线关系 本次电机驱动芯片采用TOSHIBA的TB67S109AFTG芯片来驱动双极性步进电机,该芯片支持最大驱动电压为50V,最大驱动电流为5A,最大支持32细分。 驱动电机原理图 接线关系 细分控制引脚分配 DMODE0 -----
[单片机]
STM32F103和STM32F107差别浅谈
两个系列的处理器都是以 stm32 为开头的,即这两个都是stm32芯片,是意法半导体为ARM Cortex-M3内核出的用于自动控制领域的微处理器。F107是互联型接口,且内部资源较多,F103是增强型(比F101强),相比F103,F107加入IEEE以太网接口,2个IIS音频接口(做音频解码用),全部64KByte的SRAM缓存。除此之外,两系列的芯片基本相同。 这两个芯片的开发方法和调用的库函数都是一样的,通过官方称他们为STM32f10X就知道了,引脚绝大部分也是兼容的。那么在使用中,如果开发产片偏向于以太网和IIS音频设备,建议选用F107系列产品,否则F103就可以了。
[单片机]
使用stm32f103c8实现一个简单的运动会计时器
首先是构思的思维导图 可以看到,我用到了按键结合中断作为输入,使用定时中断来计数,同时显示使用的是oled屏幕,大小为128*64个像素点。 屏幕图片源水印淘宝店( ̄▽ ̄) ok开始第一步,配置管脚图 oled管脚*7,一个3v3,一个GND,还有五个GPIO输出。 这边用的是串行通信的方法,各个管脚功能分别是 CS:OLED 片选信号。 RST(RES):硬复位 OLED。 DC:命令/数据标志(0,读写命令;1,读写数据)。 SCLK:串行时钟线。在 4 线串行模式下,D0 信号线作为串行时钟线 SCLK。 SDIN:串行数据线。在 4 线串行模式下,D1 信号线作为串行数据线 SDIN。 oled管脚: CS~PA0
[单片机]
玩转STM32CubeMX | STM32内部FLASH
1.内部FLASH简介 之前的文章中介绍过STM32F1利用SPI与外部FLASH(W25QXX芯片)通讯的例程,本例程将介绍STM32F1的内部FLASH,通过内部FLASH实现数据读写操作。 不同型号的STM32,其FLASH容量也有所不同,最小的只有16K字节,最大的则达到了1024K字节。此处我们使用的是STM32F103ZET6,其FLASH容量为512K字节,属于大容量产品,大容量产品的闪存模块组织图如下图示 STM32F1的闪存模块由:主存储器、信息块和闪存存储器接口寄存器3部分组成 *主存储器:用来存放代码和数据常量,起始地址是0x08000000,BOOT0和BOOT1都接GND时,就是从该起始地址运行
[单片机]
STM32F103R8t6 FreeRTOS工程adc+flash模拟EEPROM源程序
STM32单片机源程序如下: #include sys.h #include delay.h #include usart.h #include led.h #include FreeRTOS.h #include task.h #include ADC.h #include 74HC595.h #include key.h #include stmflash.h //const u8 TEXT_Buffer ={ 0123456789 }; //任务优先级 #define START_TASK_PRIO 1 //任务堆栈大小 #define START_STK_SIZ
[单片机]
STM32F103之DMA
一、背景: 需要使用STM32的DAC,例程代码中用了DMA,对DMA之前没有实际操作过,也很早就想知道DMA到底是什么,因此, 看了一下午手册,代码和网上的资料,便有了此篇文章,做个记录。 二、正文: DMA(Direct Memory Access),直接翻译为 直接存储器存取 ,数据手册对其定义为:提供在 外设和存储器 之间 或者 存储器和存储器之间 的高速数据传输,无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源 来做其他操作。 既然说了DMA是两个寄存器之间的数据直接交换,都有哪些形式的数据交换呢? 外设到SRAM(IIC的数据,直接放到SRAM内等); SRAM到外设(S
[单片机]
STM32CubeMX按键输入
1、新建工程 2、选择目标芯片 3、设置按键和LED引脚 4、配置时钟树 5、配置引脚功能 6、配置生成的代码和选择编译工具 7、打开生成的工程,编译 8、添加下面的代码 /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ if(!HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin)){ //读取KEY按键引脚,低电平表示按下 HAL_GPIO_TogglePin(LE
[单片机]