移植准备工作:   1:准备一份裸机基础工程   2:准备ucosIII源码一份,UCOSIII移植:   向工程中添加相应的文件1.在工程目录中新建文件夹Ucosiii 2.复制源码目录下的三个文件到工程文件夹ucosiii下。3.在工程文件目录ucosiii下面,再新建两个文件夹,UCOS_BSP和UCOS_CONFIG。打开源码文件夹里面的官方历程f107文件夹:找我们需要的文件,然后添加到
1 设计思路2 DMA传输ADC采样值 使用DMA直接将ADC->DR中的数据传输到ADC数据缓存区,节省cpu资源,高速AD采集,代码如下:DMA_InitStructure.DMA_PeripheralBaseAddr=(u32)&ADC3->DR;//外设基地址 ADC3_DR DMA_InitStructure.DMA_Memory0BaseAddr = mar;
转载 2024-06-27 17:31:20
58阅读
EMWIN 文章目录EMWIN前言一、位图转换器二、位图绘制 API 简介1.GUI_DrawBitmap()2.GUI_DrawBitmapEx()三、实验代码 前言很多情况下我们需要在 LCD 上显示图片,本章我们就看一下如何使用位图转换器将图片转换为 C 文件,然后调用 emWin 中的相应函数来显示这个 C 文件位图。一、位图转换器一般而言,emwin能够在任何显示器位置显示所有位图图像,
转载 2024-05-09 16:25:35
478阅读
一、emWin模拟器的使用把例程排除掉,再把自己需要的代码添加进去编译,就可以了官方的例程都十分给力我自个也弄了一个开发十分方便。二、测试过程中遇到的一些问题总结1)429disco的LCD坐标是这样的触摸屏的坐标是这样的这意味着界面的emWin的LCDconf要做一些改动,还有触摸屏驱动函数也有小小的改动。2)emWin中屏幕的旋转,例程的竖屏改为横屏A.硬件LTDC初始化中,不要进行改动,依旧
在之前的《STM32串口IAP》一文中,通过传输数据流来升级程序,但是这种"裸"数据的传输方式存在这许多的问题,比如它没有容错机制,不能保证数据的正确传输,还比如说它无法获知升级文件的信息,导致它在判断何时停止接收数据上“犹豫不决”。正式为了解决上面的问题,才引进了YModem协议。 在《YModem协议简介》一文中,已经详细介绍了YModem的协议,这里就不再赘述,这篇文章就来讲讲如何将YMo
TouchGFX是类似于stemwin的图形界面,用这个图形库可以开发些很漂亮的应用,相信大家能搜索到这篇文章也应该对TouchGFX有一些了解了。首先在移植tfx之前需要了解最常见的移植通常是RGBLCD屏幕,使用RGBLCD就要求STM32必须有FMC功能和硬件使用外部RAM芯片,所以需要使用到LTDC、FMC、DMA2D三种技术。因此STM32F1系列和STM32F40x系列都没法移植TFX
STM32如何配置HAL库前言   相比较早几年使用标准库开发来讲,最近几年HAL库的使用是越来越多,那么我们开发应当使用哪一种呢,本文着重介绍常用的几种开发方式及相互之间的区别,白猫也好、黑猫也好,抓到耗子就是好猫。STM32三种开发方式   通常新手在入门STM32的时候,首先都要先选择一种要用的开发方式,不同的开发方式会导致你编程的架构是完全不一样的。一般大多数都会选用标准库和HAL库,而极
转载 2024-09-13 00:43:30
108阅读
基础元器件控制本篇博文将使用LED灯、蜂鸣器、开关元器件,学习如何使用HAL库进行GPIO的输入输出设置。博主采用如下开发板进行学习STM32的编程:LED灯LED(Light Emitting Diode),发光二极管,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。LED可以直接发出红、黄、蓝、绿、青、橙、紫、白色的光。1.查看引脚首先,查看原理图,找到LED灯的引脚。
转载 2024-03-15 10:34:43
432阅读
初始STM32什么是STM321、ST— 意法半导体,是一个公司名,即SOC厂商2、M— Microelectronics的缩写,表示微控制器,大家注意微控制 器和微处理器的区别3、3232bit的意思,表示这是一个32bit的微控制器诞生背景:技术更替,市场需求,ST的努力STM32能做什么STM32属于一个微控制器,自带了各种常用通信接口,功能非常强大1、串口—USART,用于跟跟串口接口
目录一、RT-Thread概述1、国产RT-Thread操作系统的特点和优势2、RTT Nano的功能框架二、准备工作1、CubeMX 安装Nano pack(1)获取软件包地址(2)打开 CubeMX(3)下载安装完成后如下,前面的勾选框变为绿色2、Keil MDK安装 RT-Thread(1)打开 MDK 软件,点击工具栏的 Pack Installer 图标(2)点击右侧的 Pack三、C
转载 2024-03-07 12:38:46
501阅读
STM32的Flash操作分为读写:读写。一、读操作读取比较简单,直接指针解引用地址就可以读取。注意一下读取的单位即可/************************************************************* ** Function name: STMFLASH_ReadWord ** Descriptions: 读操作 ** Input
随言:STemWin、emWin 与ucGUI其实都师出同门,都是是Segger 公司之手。STemWin 是Segger 公司为ST公司定制的图形软件库;uC/GUI 是Segger 公司为Micrium 公司定制的图形软件库;与其说是花钱定制的版本,其实都是正统emWin的别名版本,微改动。但是在STM32芯片上面使用STemWin是免费的。当然ST公司也不会给其他芯片使用STemWin的机会
转载 2024-02-28 10:58:57
363阅读
最近在做一个项目,硬件平台核心处理器STM32F103ZET6,该芯片功能很强大。下面就把我移植emWin的过程分享给大家:第一步,准备移植文件。要想在自己开发板上裸机跑emWin,需要以下程序:开发板相关硬件驱动,emWin程序。相关硬件驱动我是在原子大哥战舰开发板配套的程序基础上改写的,至于emWin网上可以下载。      &nbs
转载 2024-04-29 08:40:15
512阅读
 FatFS 是一个通用的文件系统模块,用于在小型嵌入式系统中实现FAT文件系统。 FatFs 的编写遵循ANSI C,因此不依赖于硬件平台。它可以嵌入到便宜的微控制器中,如 8051, PIC, AVR, SH, Z80, H8, ARM 等等,不需要做任何修改。   特点:  FAT12, FAT16 与 FAT32.多个卷(物理驱动器与分区).两种分区规则: FDISK 与 S
今天,尝试了在我使用的Gentoo系统上位Cortex-m3构建GNU工具链,没想到如此简单。  以超级用户权限运行如下命令:  crossdev --g 4.3.1-r1 -t arm-elf  因为官方的gcc在4.3版本下加入了对cortex-m3的支持,所以上面的命令用 --g 4.3.1-r1
STM32为例,介绍单片机中的BOR/POR/PDR1)PVD = Programmable Votage Detector 可编程电压监测器 它的作用是监视供电电压,在供电电压下降到给定的阀值以下时,产生一个中断,通知软件做紧急处理。在给出表格的上半部分就是可编程的监视阀值数据。当供电电压又恢复到给定的阀值以上时,也会产生一个中断,通知软件供电恢复。供电下降的阀值与供电上升的PVD阀值有一个固
第一次写博客,我以为会是点灯的,没想到留给了GUI,但是第一次写,可能写的不够好欢迎大家批评指正。最近由于比赛的要求,需要给自己的LCD设计GUI界面,在查了一些资料后,决定先学STemwin然后学习移植LVGL,也参考了很多博客,走了很多弯路,花了两天时间最后终于成功了,最后把这一点经验分享给大家,然后也是在未来说不定自己还需要重新复习一下(手动狗头) 1.第一步 首先是上效果最开始就
1 开发环境搭建1.1 System Workbench for STM32简介System Workbench for STM32(即SW4STM32)是一种基于Eclipse的集成开发环境(IDE,Integrated Development Environment),它由AC6公司开发,STMicroelectronics官方推荐使用。相比传统的Keil和IAR开发工具,System Wor
6.1 创建一个新的STM32CubeMX工程 1.在开始菜单中选择File>New Project或者在欢迎界面中选择New Project 2.选择MCU Selector tab 然后进入STM32 芯片集选择对应型号的设备 3.选择MCU并点击OK用MCU信息填充的STM32CubeMX视图:通过对Window> Outputs 的取消选择,清除MCU的选择按钮窗口6.2
STM32正常运行时对程序运行效率要求不是很高,但是在中断中要求快进快出,尤其是中断数量多且中断里处理的任务较多时,对程序的运行时间及效率要求比较苛刻,可以从以下几点优化程序:(1)设定合适的编译优化选项Optimization level -O0 -O0禁用所有优化。使用-O0可以加快编译和构建时间,但是生成的代码比其他优化级别要满。与其他优化级别相比,-O0的代码大小和堆栈使用率明显要高。生成
  • 1
  • 2
  • 3
  • 4
  • 5