datasheet

STM32F429-DISCO上手,stm32cubeMX与IAR学习,中断及Printf

2019-08-15来源: eefocus关键字:STM32F429-DISCO  stm32cubeMX  IAR  中断  Printf

stm32f429及stm32f439已经带有LTDC控制器,意味着可以输出RGB888及RGB565的图像信号,这与以往的单片机CPU8080接口LCD有很大不同,也是入手STM32F429-DISCO的原因,价格不贵,mouser上不含税150,淘宝180,非常适合学习。


STM推出了一个叫STM32CUBEMX的软件,可以用来配置将要用到的模块,配置时钟树,输出源文件,相当给力。(不过貌似也有童鞋说坑,个人觉得挺好用的)


芯片选型后

配置JTAG(SWD),一个HSE(8MHz),两个GPIO_OUT,一个GPIO_IRQ(都是板子上有的东西)

配置时钟树,有问题的会自动标成红色,特别要记下的就是SYSCLK(系统时钟),没什么好说的


特别需要注意的是GPIO_IRQ的配置:GPIO mode 要选External Interrupt Mode 而不是External Event Mode(默认是选了这个,必须要手动选回来!!)

使能并且设置中断的优先级


把init as a pair of .c/.h勾上就不会出现把引脚初始化的代码全填到main.c里,都懂的


生成IAR的项目了,点开就可以开写了,很方便(IAR在配置,编译,Debug时都非常好,但是Editor没有完善的自动补全功能,所以在生成项目时,可以再生成一个Keil的项目,在Keil里编程比较舒服)


Stm32的Flash刷写的寿命是有限的,听说是1K次,所以在SRAM中调试学习变得非常必要,只需要在define里添加一条VECT_TAB_SRAM,大概是中断矢量的起始位置

system函数里有说明,可以不用管,在IDE里直接define就行

勾上可以在编译后生成hex文件,懂的

(*sram.icf)文件,可以在固件包里搜,肯定有,里面无非就是把ROM的地址指向SRAM里,这样就可以实现烧写sram调试程序,而不是烧写Flash

不烧写Flash,所以把Use flash loader勾掉


STM32F429-Discovery板是通过一颗已经烧写好st-link V2固件的stm32f103c8t6,接入带有TRST,SWO的SWD口(JTAG)

这里是重点,选Via semihosting,而不是Via SWO!!!!网上很多教程都是让选Via SWO,然后改改改ITM_SendChar();改改改fputc();改改改printf();重指向printf神马的,其实根本不需要,只需要勾Via semihosting,然后在main里#include “stdio.h”就完事了。

隔一秒闪一次绿灯,并打印LED_Green_Blink。


按一次按键,返回一次中断,闪一次红灯,并打印Button_Pressed。

View->Terminal I/O就可以看到打印东西了。




一次完成


1)中断


2)Sram中调试


3)Printf()的实现


就是这么简单。

关键字:STM32F429-DISCO  stm32cubeMX  IAR  中断  Printf

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic471202.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM32F429DISCO+AT070TN92 7寸LCD
下一篇:STM32与FreeRTOS学习备忘,xSemaphoreGiveFromISR

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM32F429DISCO与STemWin开发备忘

一、emWin模拟器的使用把例程排除掉,再把自己需要的代码添加进去编译,就可以了官方的例程都十分给力我自个也弄了一个开发十分方便。二、测试过程中遇到的一些问题总结1)429disco的LCD坐标是这样的触摸屏的坐标是这样的这意味着界面的emWin的LCDconf要做一些改动,还有触摸屏驱动函数也有小小的改动。2)emWin中屏幕的旋转,例程的竖屏改为横屏A.硬件LTDC初始化中,不要进行改动,依旧使用例程里的x=240,y=320。B.LCDconf中,#define XSIZE_PHYS 240  #define YSIZE_PHYS 320 也是不需要改的,因为ili9341就是240x320的,假如把以上的两个x
发表于 2019-08-15
STM32F429DISCO与STemWin开发备忘

STM32F429DISCO+AT070TN92 7寸LCD

stm32f429 + sdram + at070tn92 这方案早就有牛人做出来了,x宝一搜就有。不过用STM32F429-DISCO直接飞线AT070TN92也是可以的哦!由于tn92需要的电源有点多,而且fpc50pin也必须使用pcb引线出来,所以做一块电源连接板是必须的,板子10片50块钱+tps61040+fpc+xpt2046,加起来60来块钱,够廉价吧。效果很给力哦stm32f429disco不用拆,直接用杜邦线飞出来就好,连接板还做了LAN8720和SD卡模块,以后有空也飞到DISCOVERY上耍耍。开发备忘:1.TN92的时钟为33Mhz,开发板的2.4寸LCD用的是6Mhz,假如TN92用6Mhz的DCLK
发表于 2019-08-15
STM32F429DISCO+AT070TN92 7寸LCD

STM32F4-DISCO 学习之DMA双缓冲机制

; DMA_InitStructure.DMA_Channel = DMA_Channel_7;    DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&USART3->DR; //数据传输的外设首地址    DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)Buffer0; //自己定义待发送数组的首地址,要强制转换为32位    DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral; //数据传输方向选择为内存->外设 
发表于 2018-09-20

【STM32CubeMX】15,NVIC,中断优先级

以前虽然用到了中断,但很少用到中断优先级。现在必须有了,比如急停之类的。http://www.waveshare.net/study/article-641-1.html抢占优先级是用来判断一个中断是否可以打断另外一个中断的中断服务程序抢先运行。 响应优先级是用来判断抢占优先级相同的几个中断那个中断会优先响应。中断优先级分组是为了给抢占式优先级和响应优先级在中断优先级寄丛器的四个比特位分配各个优先级数字所占的位数。例如3位用于抢占优先级(优先级有2^3=8种优先级),1位用于响应优先级(优先级有2^1=2种优先级)。 中断服务函数里面就调用了GPIO外部中断处理
发表于 2019-08-14
【STM32CubeMX】15,NVIC,中断优先级

【STM32CubeMX】11,STM32之CAN回环测试,过滤器的匹配设置

1,因为自己目前只有一块板子有CAN模块,所以先做CAN的回环测试。主要参考http://www.stm32cube.com/question/33下面的代码测试可以使用1-1,在CAN的编程中,主要是注意四大结构体,这几个都是自动生成的,1、CAN_HandleTypeDef  hcan1;// CAN handle Structure definition首先定义CAN的处理结构体,hcan1内部包括了3、CanTxMsgTypeDef; 4、CanRxMsgTypeDef;的头地址2、CAN_FilterConfTypeDef  sFilterConfig;// CAN filter
发表于 2019-08-14
【STM32CubeMX】11,STM32之CAN回环测试,过滤器的匹配设置

【STM32CubeMX】10,STM32之FSMC 之TFTLCD,移植,显示变量

1,学了这章之后,主要掌握了怎么移植标准库的函数2,对.c .h文件的#include文件的修改3,在LCD中,最关键的是读写命令地址的书写4,LCD的初始化可以看给的参考例程5,变量的显示sprintf函数https://baike.baidu.com/item/sprintf/9703430?fr=aladdinhttp://www.openedv.com/posts/list/61386.htm6,在stm32 例子的 c语言 程序中看到这样一句 *(__IO uint16_t *) (((uint32_t)0x60020000) ) 7,fsmc目前还没怎么操作它,看以后怎么用吧
发表于 2019-08-14
【STM32CubeMX】10,STM32之FSMC 之TFTLCD,移植,显示变量

小广播

何立民专栏

单片机及嵌入式宝典

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

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