• 关于STM32与GSM模块之间简单应用

    时间:2024-04-10 07:48:58

    芯片采用的是STMF407ZGT6,GSM模块使用SIM900A,据说已停产,可通过其他途径购买到。实现的功能有打固定电话,给固定号码发送短信,接听来电,挂断来电和接收短信并显示五个功能。一、硬件准备:1、stm32开发板(带显示屏),gsm模块,杜邦线若干,USB转串口,移动或联通SIM卡(大卡)...

  • 【STM32嵌入式系统设计与开发】——16InputCapture(输入捕获应用)-二、任务实施

    时间:2024-04-09 12:14:37

    观察电路图: TXD(底板) ————————> PA10 RXD(底板) ————————> PA9 DK1 (底板) ————————> PA0 使用USB-AB型数据线,连接15核心板USB口,串口发送接收到的数据。实现了STM32定时器的输入捕获功能,用于捕获外部信号的时...

  • STM32中C编程引入C++程序

    时间:2024-04-09 11:46:48

    C++具备类的创建思想很实用于实际场景多相似性的框架搭建;同种类型或相似类型的C++的优势明显因此进行相互嵌套使用 需要在C中使用C++类的话,你可以通过C++的“extern "C"”语法来实现。这允许你在C++代码中使用C的链接方式,而在C代码中使用C++的特性。 standard.cpp #i...

  • stm32在keil5下重定向printf

    时间:2024-04-09 08:46:24

    简述在单片机开发中,难免需要用到串口进行通信调试,对于部分人来讲习惯了使用printf进行打印输出,本文记录了该实现方法。环境软件:keil5、pc端串口调试助手硬件:usb转ttl串口模块,stm32最小系统要点此处只记录关键步骤,其他的请参阅相关资料。1.在工程设置Target中勾选Use Mi...

  • stm32_016_配置stm32在SRAM中调试运行

    时间:2024-04-08 22:54:04

    1.选择对应的cpu2.修改目标地址3.添加宏定义4.设置debug选项,Load Application at Startup处,如果勾选了,就不能单步调试,程序会直接运行。这里关键就是要加入一个RAM.ini文件,作为RAM的配置文件,是起到复位指针作用。这个文件是每次不同的工程都要修改,更改方...

  • STM32实现软件SPI对W25Q64内存芯片实现读写操作

    时间:2024-04-08 17:09:08

    先看看本次实验的成果吧: 这么简单的一个程序,我学习了一个星期左右,终于把所有的关节都打通了。所有代码都能什么都不看背着敲出来了。为了使自己的记忆更为清晰,特意总结了一个思维导图,感觉自己即便是日后忘记了看一遍思维导图也就知道怎么写了。特此展示一下吧! STM32内部集成了硬件SPI收发电路, ...

  • STM32程序下载成功但是不运行

    时间:2024-04-08 14:51:39

    调试stm32程序,发现如下问题:       STM32编写程序,当程序中没有sd卡部分时,程序正常下载,正常运行。当程序中运行sd卡加文件系统时程序能正常下载但是不能正常的运行。发现问题就要解决问题呀,好了大家一起来和我解决问题吧!​根据自己问题,上网查找解决办法,最终将问题锁定在堆栈设置问题上...

  • STM32 内部FLASH和外部FLASH两种方式实现IAP升级

    时间:2024-04-08 14:51:15

    芯片型号STM32F103RET6,flash大小512K,起始地址0x08000000一般说STM32内部FLASH就是指主存储器区域 【注】此实验中启动方式设置为复位后从主闪存存储器启动(BOOT0拉低)IAP实现流程为,上电复位后,先执行bootloader(启动程序),在bootloader...

  • STM32野火库学习笔记

    时间:2024-04-08 14:50:27

    长期习惯于在一些大的店家的成熟库源上进行开发,每当调用函数无法使用时都要回过头来重新阅读库的内容,与其这样支离破碎的学习,不如系统性的把库研究一遍。反正STM32的普适性是很高的,并且库这个东西各家都很相似,学一家基本就可以了。本来是大二下学期的规划居然拖到大四做,也是惭愧。内核结构:存储单元:Fl...

  • 【STM32】STM32F103VCT6工程移植

    时间:2024-04-08 14:48:49

    在ZET6的原始版本基础上,对配置进行修改。 首先需要更改器件型号.S启动文件选择 根据标准 ld:<=32K md:64~128K hd:256~512K查看规格书,可以知道STM32F103VCT6的资源为25k,使用HD.S启动文件,与ZET6一致,不需要进行更改。STM32F103xC...

  • STM32 之 USB IP(USB模块) 详解

    时间:2024-04-08 14:43:22

    模块分类  在 STM32 众多系列的 MCU 中,USB模块并不是相同的,官方称呼为USB IP 不同。总的来说可以分文两大类:USB IP、OTG IP。这两种 IP又可以进行更进一步的细分,如下图: 上图中罗列的芯片并不是很全面,某些新系列的芯片可能与上图有出入。各IP的主要区别如下:USB ...

  • STM32使用串口ISP下载异常的问题解决

    时间:2024-04-08 14:42:59

    最近开始接触STM32,刚开始很不适应,和51相比还是有区别的,光是MDK安装和STM32的库安装就花了点时间。(之前以为MDK和keil是一个玩意儿,因为看到身边有人就是用keil’写32的程序)在此感谢同学的帮助。今天打算试试烧录,因为手边没有现成的Jlink或STlink下载器,就想试试串口i...

  • KEIL识别不出野火STM32仿真器问题解决

    时间:2024-04-08 14:42:34

    开发板:野火STM32 F429 V2KEIL:keil5.15问题:仿真器指示灯正常(绿色),但是keil识别不出来解决方法:网上说的更新Keil,管理员运行keil均没有解决。我的解决办法:查看设备管理器,发现电脑识别的结果如下图所示:这是不对的,需要做如下图调整:修改后结果:...

  • LwIP学习笔记——STM32 ENC28J60移植与入门

    时间:2024-04-08 14:40:57

    0.前言    去年(2013年)的整理了LwIP相关代码,并在STM32上“裸奔”成功。一直没有时间深入整理,在这里借博文整理总结。LwIP的移植过程细节很多,博文也不可能一一详解个别部分只能点到为止。    【本文要点】    【1】不带操作系统的LwIP移植,LwIP版本为1.4.1。    ...

  • STM32建立工程模板时出现错误:error: #67: expected a “}“

    时间:2024-04-08 14:30:39

    在MDK5开发环境中使用到标准库建立工程时,常常会出现以下编辑错误error: #67: expected a 更改方法:options —> c/c++ —> Preprocessor Symbols —> Define:将STM32F10X_MD改为STM32F103_MD...

  • 原子哥STM32软件仿真时间不一致的问题

    时间:2024-04-08 12:41:36

    在进行STM32F10x精英版的软件仿真,绘制PB5和PE5的比特位变化曲线的时候,发现跳变的间隔和代码中的delay_ms(300)时间不一致,猜测是因为系统时钟引起的,后查看软件仿真的系统时钟发现果然如此,需要使用8MHz的系统时钟才可以。具体设置如下:这这里将xtal设置成8Mhz即可,恢复正...

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

    时间:2024-04-07 22:55:35

    1,因为自己目前只有一块板子有CAN模块,所以先做CAN的回环测试。主要参考http://www.stm32cube.com/question/33下面的代码测试可以使用1-1,在CAN的编程中,主要是注意四大结构体,这几个都是自动生成的,1、CAN_HandleTypeDef  hcan1;// ...

  • 关于STM32的系统时钟、PLL倍频系数、AHB预分频器、APB预分频器的值在什么时候,在哪里设置的

    时间:2024-04-07 21:13:17

    很多人平时用STM32的时候一般都不会考虑STM32的内部各种时钟(HCLK、PCLK1、PCLK2等)问题。只知道一个系统时钟频率。但是当你看到STM32的时钟树的时候有没有发现STM32内部的各个时钟都是由分频器或者PLL锁相环来确定的。STM32时钟树图(如下图)那么问题就来了,这些分频器和锁...

  • stm32预分频器和自动重装载寄存器减1问题

    时间:2024-04-07 21:12:53

    在设置预分频器时候,要减去1,比如2分频,那么在在TIMx_PSC寄存器中写入的值就是2−1=12-1=12−1=1,而不是2在设置自动重装载寄存器的时候也要减去1,比如要填的值是1000,则要往TIMx_ARR寄存器中写1000−1=9991000-1=9991000−1=999...

  • stm32串口输出丢失第一个字符的问题及原因

    时间:2024-04-07 12:39:27

    因为TC和TXE 标志位在复位的时候会被置1,导致第一次没有发送。所以在初始化串口的时候可以增加一句 USARTx->SR=0;(如 USART1->SR=0;)