STM32F429学习笔记(一)触屏工程Keil建立

发布者:王岚枫最新更新时间:2021-08-19 来源: eefocus关键字:STM32F429 手机看文章 扫描二维码
随时随地手机看文章

由于原来的STM32F103ZET6的flash坏掉了,所以又买了一块STM32F429DISCOVERY,这块板子非常不错,基于Cortex-M4内核,自带一块2.4寸TFT触屏,主频为180M,且内置了ST-Link下载器,使用非常的方便。


近期参加校赛,用它的触屏写了个上位机,当时我是在实验室的电脑和我的平板电脑之间相互拷贝工程,由于ST官方的工程都是公用库文件,所以独立性不强,想要拷贝就得拷贝整个目录,为了解决这个问题,我仔细学习了官方工程的组成与调用,并成功的将所有文件分离出来,建立了一个独立的工程文件夹,以后再拷贝时,只需要将这单个工程拷贝出来,即可方便的移植,其间有不少小插曲,下面就对具体步骤进行详述。



一、建立工程文件夹体系

①首先得建立总的工程目录,我将它命名为STM32F429PROJ,并在其内建立Library、MDK-ARM、USER文件夹,如下图所示:

    wKioL1OJc2CDBrF7AADQlWU8yY4292.jpg

其中MDK-ARM放置启动文件,USER放置工程、主函数和中断函数,Library放置各类库函数。


②接下来进入Library内,建立Common、Discovery、DRIVER目录,它们用于放置各类库,其中Discovery中放置的是特色库,例如板上的TFT驱动程序,而DRIVER中则放置一些基本的库,和M3内核的库基本一致。而Common中为它们共同访问的基本库,如下图所示:

wKiom1OJdJezGR4KAACxtOb5S88112.jpg

经过这两步之后,工程文件夹就制作完成了。



二、复制官方库中相应文件到工程文件夹:

STM32F429I-Discovery_FW_V1.0.0在官方可以下载,这是官方的库,我们需要把库文件复制到我们的工程下,具体操作如下:


 ①USER:由于我们建立触控工程.因此需要打开如下路径:

STM32F429IDiscovery_FW_V1.0.0ProjectsPeripheral_ExamplesTouch_Panel


将它下面这些文件拷贝到我们工程的USER目录内

        wKiom1OJdfujsx17AAD9moH3GyU858.jpg

②MDK-ARM:其内放置的启动文件,启动文件在官方工程的如下路径

STM32F429I-Discovery_FW_V1.0.0LibrariesCMSISDeviceSTSTM32F4xxSourceTemplatesarm


将其中的startup_stm32f429_439xx.s复制到我们工程的MDK-ARM下。


③Library的Common:打开如下路径:

STM32F429I-Discovery_FW_V1.0.0UtilitiesCommon


将其中的所有文件拷贝到我们的Common目录下。


④Library的Discovery:首先在Discovery目录下建立inc与src目录,其中inc用于放置头文件,而src用于放置c文件,二者一一对应。


拷贝如下路径的所有.c文件到我们Discovery目录下的src:

STM32F429I-Discovery_FW_V1.0.0UtilitiesSTM32F429I-Discovery


同样将其中的.h文件拷贝到我们的inc中。


⑤Library的DRIVER:首先也是要建立inc与src,然后打开如下路径:

STM32F429I-Discovery_FW_V1.0.0LibrariesSTM32F4xx_StdPeriph_Driver


将其中的inc与src分别拷贝到我们DRIVER目录下的inc与src中。


到现在为止,文件操作到此结束,下面是工程配置。


三、建立工程与配置

①关于Keil工程的建立方式我就不赘述了,注意的是选择芯片STM32F429ZI,不添加驱动文件。


下面是对工程的配置,首先单击快速工具栏的品字图标,打开工程配置,然后按如下的图片添加文件:

        wKiom1OJeX_ggPPYAADBU62Xijw277.jpg

wKioL1OJec2QePqeAADjQBIFomI098.jpg

        wKiom1OJej_wwg48AADyPdJJ-5g535.jpg

wKiom1OJeqTynJ0MAAEy20dvnD4958.jpg

然后点击确认,这时所有的c文件和启动文件都添加进来了。


②添加h文件的目录:打开工程设置,选择C/C++选项卡,在下面的Include Path右面的“...”点击一下,打开配置页面,进行如下配置:

    wKioL1OJewbwfZTkAAC6BNHpIDg293.jpg   

接下来配置宏定义,仍然是C/C++选项卡,上侧的Define内填入如下内容:

USE_STDPERIPH_DRIVER,STM32F429_439xx,USE_STM32F429I_DISCO,


③下面选择Debug选项卡,勾选最上面一栏右侧的Use左侧圆点,选择ST-Link Debugger,打开Settings,如下配置:

wKioL1OJe8mTRrSDAACRUnq66Vw595.jpg 


④继续保持上面的窗口不关闭,打开Flash Download选项卡,添加如下设备描述:

        wKioL1OJfBuxypzZAACdBVCRZbg001.jpg


经过这些配置,一个完整的工程就建立完毕了。接下来点击全部编译,没有意外的话会得到0 warning与0 error的工程,以后使用这个模板,会非常方便。

  

完整工程的下载地址如下:

http://down.51cto.com/data/1282075


关键字:STM32F429 引用地址:STM32F429学习笔记(一)触屏工程Keil建立

上一篇:STM32学习笔记(一)时钟和定时器
下一篇:STM32普通定时器配置PWM的问题

推荐阅读最新更新时间:2024-11-13 00:29

STM32F429芯片带FIFO的DMA传输实现过程
STM32系列芯片都内置DMA外设,其中很多系列的DMA配备了FIFO。这里以STM32F429芯片及开发板为例,演示一下带FIFO的DMA传输实现过程。 大致情况是这样的,我用TIMER1通道1的比较事件触发DMA,将内存数据写进UART5的数据发送寄存器DR,并将UART5的TX/RX脚物理短接,同时开启UART5的DMA接收模式,即DMA将UART5接收到的数据写到指定的接收内存区。下面重点介绍UART5的DMA方式的接收过程。 首先使用STM32CubeMx完成基本配置。 下面是关于TIM1的相关配置,使用通道1的比较事件触发DMA,将内存数据写入UART的发送数据寄存器。为什么还要搞个定时器来触发,其中一个原因是
[单片机]
<font color='red'>STM32F429</font>芯片带FIFO的DMA传输实现过程
STM32F429——GPIO
除非特别说明,否则本部分适用于整个 STM32F4xx 系列 七 .通用I/O简介 7.1 GPIO 简介 每个通用 I/O 端口包括 4 个 32 位配置寄存器(GPIOx_MODER、GPIOx_OTYPER、GPIOx_OSPEEDR 、GPIOx_PUPDR), 2个32位数据寄存器( GPIOx_IDR 和GPIOx_ODR)、1个32位置位/复位寄存器(GPIOx_BSSR)、1个32位锁定寄存器(GPIOx_LCKR)和 2个32位复用功能选择寄存器(GPIOx_AFRH和GPIOx_AFRL)。 7.2 GPIO工作模式 GPIO可以设置成一下模式 1.输入模式(上拉/下拉/浮空) 在输入模式
[单片机]
STM32F429 如何使用LCD(2)
刚开始是在安富莱V6的开发板上焊接的调试了好久。需要注意的坑有一下: (1)该屏幕使用LCD驱动为ILI9806 ,使用的触摸芯片是ft6206。 第一步选择:LCD使用RGB8888 IM0-2 = 1 1 0 (电阻配置) 第二步:配置LTDC接口参照上一章,同时需要留出来SPI接口对LCD进行配置。 第三步:配置IIC接口的ft6206芯片。 引脚分配: CS:PB9 SDI :PB5 SCL :PB6 INT: H7 SDA:PB3 SCL :PB6(复用) /* GPIOs Configuration / / ±-----------------------±----------------------±------
[单片机]
<font color='red'>STM32F429</font> 如何使用LCD(2)
STM32F429 >> 10. DMA_直接存储器访问
本工程板级支持包文件适用于野火stm32f429 开发板。 DMA 传输实现高速数据移动过程无需任何CPU 操作控制 其支持以下三种传输方式: 外设到存储器传输; 存储器到外设传输; 存储器到存储器传输。 功能框图: ① 外设通道选择 外设通道选择所解决的问题是决定哪一个外设作为数据传输的源地址或目标地址。 DMA1 请求映射: DMA2 请求映射: 每个外设请求都占用一个数据流通道,相同外设请求可以占用不同数据流通道。 ② 仲裁器 仲裁器管理数据流方法分为两个阶段。 第一阶段属于软件阶段,我们在配置数据流时可以通过寄存器设定其优先级别,具体配置DMA_SxCR 寄存器PL 位,可以设置为
[单片机]
<font color='red'>STM32F429</font> >> 10. DMA_直接存储器访问
Keil工程文件的建立、设置与目标文件的获得
  单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工 汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于 MCS-51 单片机的汇编 软件有早期的 A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级 语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发 MCS-51 系列单片 机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(u
[单片机]
STM32F429 >> 4. 使用固件库点亮LED
本工程板级支持包文件适用于野火stm32f429 开发板。 在这一节的当中,最核心的内容就两点: 学会创建自己的项目; 学会创建板级支持包; STARTUP :放置启动文件 STM32F4xx_StdPeriph_Driver 和CMSIS :放置库文件,不需要改动 DOC :放置说明文件 USER :放置用户创建或要进行改动的文件 bsp_led.h /** ****************************************************************************** * @file bsp_led.h * @author Waao * @version V1.0
[单片机]
<font color='red'>STM32F429</font> >> 4. 使用固件库点亮LED
STM32F429 CAN通信不成功
最近因为CAN的问题弄了我好几天时间,总结一下: 1:STM32F407开发板回环模式与CAN1给CAN2发数据都是OK的,STM32F429不行。 对比初始化函数以及检查硬件,120欧电阻还是要的,什么光耦电路能去掉还是去掉,H/L直接从TJA1050芯片出来即可。 2:STM32F407与STM32F429回环模式,can1与can2通信都成功,但是STM32F407与STM32F429通信不成功。 这是为毛啊??不急,再做个试验,STM32F429两块板子能通信成功,不存在硬件问题了,定位应该是波特率不匹配的问题。 按照STM32规格书波特率计算方式应该是: can波特率=(APB1时钟/(分频系数*
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved