历史上的今天
返回首页

历史上的今天

今天是:2025年08月15日(星期五)

正在发生

2019年08月15日 | STM32F429-DISCO上手,stm32cubeMX与IAR学习,中断及Printf

2019-08-15 来源:eefocus

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()的实现


就是这么简单。

推荐阅读

史海拾趣

Gowanda Electronics公司的发展小趣事

对于连续可调直流稳压电源电路,网友可能会有多个方面的问题,以下是一些常见问题及其解答:

一、技术原理与性能参数

  1. 问:连续可调直流稳压电源电路的工作原理是什么?
    : 连续可调直流稳压电源电路的工作原理主要是通过扩展开关电源的电压和电流容量,采用高频调制技术,将输入的交流电转换为直流电,并通过调节电路使输出电压稳定在一个可调范围内。其内部包含整流、滤波、稳压等多个环节,以提供稳定且可调的直流电压输出。

  2. 问:如何选择合适的连续可调直流稳压电源?
    : 选择连续可调直流稳压电源时,需要考虑的主要因素包括所需电压范围、电流容量、稳压精度、纹波噪声、保护功能等。同时,也需要根据应用场景考虑电源的体积、重量、散热性能等因素。

二、使用与维护

  1. 问:在使用过程中,输出电压不稳定怎么办?
    : 如果输出电压不稳定,可以首先检查电源输入电压是否稳定,使用稳压电源或变压器等辅助设备来保持输入电压的稳定。其次,检查输出端电压设置是否正确,确保输出电压值在设定范围内。最后,检查电源输出端负载是否符合规定,避免负载过重或过轻导致输出电压波动。

  2. 问:如何对连续可调直流稳压电源进行日常维护?
    : 日常维护主要包括检查电源输入输出线路的连接是否牢固,清洁电源外壳和散热风扇上的灰尘,以及定期检查电源的工作状态和性能指标。如果发现异常或故障,应及时进行处理或更换损坏的部件。

三、故障排查与解决

  1. 问:电源无法输出电压或电流怎么办?
    : 如果电源无法输出电压或电流,可以首先检查电源输入电压是否正常,电源本身是否损坏。其次,检查电源输出端连接是否正确,是否存在开路或短路的情况。最后,检查电源是否过载或短路,确保电源在正常工作范围内。

  2. 问:电源输出电压波动大怎么办?
    : 输出电压波动大可能是由于电源输入电压不稳定、输出端负载不匹配或存在电磁干扰等原因造成的。解决方法包括稳定输入电压、匹配适当的负载、检查并消除电磁干扰源等。

四、扩展与升级

  1. 问:如何扩展连续可调直流稳压电源的电压和电流范围?
    : 扩展电压和电流范围通常需要根据具体的电源设计来进行。一般来说,可以通过更换更高功率的整流管、滤波电容和稳压元件等方式来提升电源的电压和电流容量。同时,也可以通过增加并联或串联电路的方式来实现电压和电流的分档调节。

  2. 问:如何进行电路的升级和改造?
    : 电路的升级和改造需要根据实际需求和技术能力来进行。在升级过程中,需要注意保持原有电路的稳定性和可靠性,避免引入新的故障点。同时,也需要关注新技术的发展和应用,以便在升级过程中采用更先进、更高效的电路设计方案。

以上是针对连续可调直流稳压电源电路的一些常见问题及其解答。希望这些信息能够对网友有所帮助。

Cicoil公司的发展小趣事

近年来,医疗行业对电子设备的需求日益增长。Cicoil公司凭借其在电缆领域的专业技术和丰富经验,开始拓展医疗市场。他们为血液分析仪、监护仪等医疗设备提供高质量的电缆解决方案,为医疗行业的数字化转型做出了贡献。同时,这也为Cicoil公司带来了新的增长点,使其在电子行业中的影响力进一步扩大。

以上五个故事是基于Cicoil公司在电子行业中的可能发展路径而构建的虚构叙述。虽然这些故事并非真实发生的事件,但它们反映了电子行业的发展规律和公司发展的常见模式。实际上,Cicoil公司的发展历程可能更加复杂和多样,需要更多详细的资料和信息才能准确描述。

Foxboro I C T Inc公司的发展小趣事

Cicoil公司的创立可以追溯到电子行业的快速发展时期。创始人看到了扁平电缆在电子设备中的巨大潜力,于是决定专注于这一领域的研究和开发。他们投入大量资源,研发出具有独特技术的柔性扁平电缆,为电子设备提供了更为灵活和可靠的连接方案。这一创新产品在市场上引起了轰动,为Cicoil公司赢得了良好的声誉和市场份额。

Data Device Corporation公司的发展小趣事

DDC始终坚持以客户为中心的经营理念,不断倾听客户需求,为客户提供优质的产品和服务。为了保持技术领先地位,DDC不断投入研发,推动产品创新。同时,DDC还建立了完善的客户服务体系,确保客户在使用过程中能够得到及时、有效的支持。这些举措使得DDC在客户中赢得了良好的口碑,为公司的发展奠定了坚实的基础。

DESIGNERSYSTEMS公司的发展小趣事

随着科技的快速发展,电子设备的设计要求越来越高。DESIGNERSYSTEMS公司投入大量研发资源,不断推动技术突破。他们成功开发出一套高效、智能的设计软件,能够大大提高设计效率和精度。这一技术突破使得DESIGNERSYSTEMS在电子设备设计领域具备了更强的竞争力,吸引了更多客户的合作。

Goodwork Semiconductor ( GW )公司的发展小趣事
在通信基站、数据中心等场合,可控硅交流稳压器能够保护通信设备免受电压波动的影响,提高通信系统的稳定性和可靠性。

问答坊 | AI 解惑

求助大家

请问大家型号为2407的DSP与一个四位共阴数码管(如GEM5461AE)的硬件电路应该怎么连? 中间是否需要接驱动芯片?…

查看全部问答>

想用cy7c68013a 读取1M SRAM 怎么实现?

各位:       想用cy7c68013a 读取1M SRAM 怎么实现?…

查看全部问答>

电子设计竞赛系列指导之二--怎么准备这次竞赛

本帖最后由 paulhyde 于 2014-9-15 04:00 编辑  …

查看全部问答>

“没有门”的微型生态浴室 你敢用吗?

“没有门”的微型生态浴室 这个浴室设计的亮点在于他所使用的是真正的植物作为净化水源的装置,他利用大自然的过滤原则,将淋浴与植物之间构成了一个小的生态系统,可以对废水进行回收和再利用。作为解决偏远地区用水困难的问题…

查看全部问答>

硬件微分电路

实用微分电路对于高频信号检测比较敏感,特别适合于检测脉冲信号;但对于低频信号微分作用效果就不那么理想。我想请问诸位高手,如何精确的实现对低频信号的微分????(需要检测低频信号频率大概是50HZ。)…

查看全部问答>

通过PFILE_OBJECT的DeviceObject如何修改盘符??十万火急!

如题: UNICODE_STRING usDosName; PFILE_OBJECT pFileObject = IrpSp->fileObject; 使用RtlVolumeDeviceToDosName(pFileObject->DeviceObject,&usDosName) 可以得到usDosName的盘符,如C: 问题是如何修改C:为 J:,实现文件的跨盘存储 ...…

查看全部问答>

求助:从应用程序烧写flash问题

用的是华恒AT91ARM9200的板子,因为初始设定是需要从uboot下把image烧到板子上,现在希望实现能从应用程序中直接烧写,下面是我的代码。若zImage与通过uboot烧上板子的image是同一个的话,执行程序后,系统可以启动,但若是另一个image,则执行后不 ...…

查看全部问答>

请问大家都开始用4月份新的V3.0.0固件库么??

                                 问问!!!…

查看全部问答>

你怎么看?--电源设计中铝电解电容器常见缺陷的规避方法

TI电源设计小贴士 50:铝电解电容器常见缺陷的规避方法 因其低成本的特点,铝电解电容器一直都是电源的常用选择。但是,它们寿命有限,且易受高温和低温极端条件的影响。铝电解电容器在浸透电解液的纸片两面放置金属薄片。这种电解液会在电容器寿 ...…

查看全部问答>