/******************** (C) COPYRIGHT 2012 WildFire Team *************************** * 文件名 :usart1.c * 描述 :将printf函数重定向到USART1。这样就可以用printf函数将单片机的数据 * 打印到PC上的超级终端或串口调试助手。 *...
转载
2019-01-13 18:59:00
88阅读
2评论
今天在进行软件仿真时,发现无法在逻辑仿真器中输入要观察的IO口,原因是Debug选项下的配置问题。默认的配置是:Dialog DLL: DCM.DLL Parameter: -pCM3改成以下配置即可进入逻辑仿真:Dialog DLL: DARMSTM.DLL Parameter: -pSTM32F103VC注:进行逻辑仿真时,输入PORTB.5表示对GPIOB的第5引脚进行仿
原创
2015-04-07 12:05:36
2241阅读
一、串行接口相关知识点 并行通信、串行通信的概念。 1.串行通信 串行通信是指计算机与I/O设备之间数据传输的各位是按顺序依次一位接一位进行传送。通常数据在一根数据线或一对差分线上传输。 2.并行通信 并行通信是指计算机与I/O口设备间通过多条传输线交换数据,数据的各位同时进行传送。 单工、半双工、全双工三种通信方式的概念。异步串行通信: 通信双方在没有同步时钟的前提下,将一个字符(包括特定的附
printf函数调用fputcint fpu...
转载
2017-08-11 16:01:00
261阅读
2评论
在使用STM32调试时,经常使用串口发送信息,为了方便调试与串口发送信息,用printf()函数实现通过串口打印信息。1.添加
原创
2023-06-06 10:55:44
888阅读
这是本人一个作业,却整整花了两天时间才搞完,因为网上关于stm32的仿真很少,所以应该是网上第一份protues两块单片机实现串口交互的程序,实在是值得纪念一下。 前文提要,由于protues仿真库函数bug太多,所以采用寄存器的初始化版本原作者 后面会发原程序下载地址 首先我们知道串口交互程序需要uasrt初始化,这边采用的是原子哥的例程实验四的初始化,这个可以自行参考资料,这边就不放代码图了。
转载
2024-06-06 20:42:15
436阅读
简介:本项目为基于STM32F103R6为核心 的按键点亮LED工程。为新手刚入门输入和输出最基本的操作联动的任务。无论按键程序和LED程序均与之前任务思路一致,非常简单易懂。因此在此阶段引入模块化编程思维,藉由正点原子模板创立工程,为后续做更复杂的程序打下坚实的基础。目的:学会输入和输出联动;学会模块化编程思维。硬件:PA1和PA2分别连接两个按键,PB6和PB8分别连接两个LED灯。软件:按键
本文目的是通过protues进行stm32程序的仿真和运行,了解仿真和实际硬件操作的不同之处 目录(一)新建工程(二)创建原理图并进行仿真1.创建原理图2.进行程序仿真(三)总结 (一)新建工程新建工程 点击新建工程,输入工程名和工程所在路径,点击下一步选择从选中的模板中创建原理图,点击下一步选择不创建PCB布版设计,点击下一步选中创建固件库,选择Cortex-M3系列,Controller选择S
转载
2024-03-22 20:34:25
1962阅读
也许很多人都会讨厌keil 或者stm32 cube繁杂的配置过程,选出型号之后还有诸多的配置,那么有没有一种办法用上keil arm的编译器来编译我们的stm32,又不使用其他不熟悉的编译器(如yagarto)《用proteus直接仿真stm32-可以完全丢弃编程器》呢? 其实我们知道,我们使用stm32一般会有两套库文件,一套是HAL,一套是标准库。keil arm中使用的就是标准库。那么我们
转载
2024-06-24 21:18:42
1355阅读
原理图只要一个MCU就可以了,双击MCU,编辑固件,选择GCC for ARM,由模板创建默认工程。会遇到两个错误: 1.STM32 GCC ARM 编译 _STATIC_INLINE 出错, 在第一个出错的位置钱加上 #define __STATIC_INLINE static inline 定义成小写
转载
2024-07-24 06:52:16
1382阅读
STM32 printf函数重映射 /* Private function prototy
转载
2023-06-16 11:01:01
90阅读
简介IAP(In Application Programming)即在应用编程, IAP 是用户自己的程序在运行过程中对User Flash 的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。通常实现 IAP 功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信方式(
转载
2024-05-03 13:40:25
176阅读
基于STM32F103的红外循迹避障小车设计红外循迹及红外避障实现较简单,无论是51单片机还是STM32单片机,其例程随处可见。但是完全可以运行的Proteus仿真,开源的并不多,更不要说基于STM32单片机的仿真。下面跟大家聊聊基于STM32F103的红外循迹避障小车的Proteus仿真。首先,我们来验证一下,Proteus软件能否对STM32进行仿真。我所使用的是Proteus8.6版本,我们
弄了几天的Proteus仿真,终于觉得自己想做的东西,已经全部用Proteus仿真过了,应该可以动手做了。于是先用Proteus画好原理图,再用ARES画好PCB板图——虽然我只是用洞洞板焊接,但是有个PCB板图做参照,连线会容易很多。花了两个小时,去中关村买了必要的原件,开始动手。单片机用的是STC89C552RC,原因除了价廉物美之外,最大的原因是,STC的单片机可以直接使用串口往里面下程序,
本文将在Keil MDK版 5.18下编写一个基于STM32的汇编语言程序以及在没有硬件条件下对该程序进行仿真调试。进一步地,还将对build生成的hex文件进行分析。一、编写汇编程序1.新建工程 点击在这里插入代码片Project,选择New uVison Project,然后输入工程名,点击保存。 2.配置环境 设置工程的目标环境,根据自己的实际情况选择设备,本文基于STM32F103C8,点
2、基于STM32单片机的温湿度检测报警器(液晶1602)功能描述: 本设计由STM32F103单片机最小系统+DHT11温湿度传感器+1602液晶显示模块+声光报警模块+独立按键组成。 1、主控制器是STM32F103单片机 2、DHT11传感器测量温度和湿度数据 3、1602液晶显示温度、湿度 4、三
导读:PWM(Pulse Width Modulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。 PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,广泛应用在从测量、通信到功率控制与变换的许多领域中。
PWM是什么——PWM原理 脉宽调制(PWM)基本原理:控制方式就是对逆变电路开关器件的通断进行控制,使
使用 Proteus 仿真 STM32创建项目新建工程完成连接元器件编辑元件Program FileCrystal Frequency配置供电网后续创建项目新建工程一直下一步就行。选择版型,注意选择什么类型的板子完成连接元器件编辑元件Program File这里是选择你要运行的程序的 HEX 文件。在 KEIL中选择创建HEX文件Crystal Frequency这里很重要,很多人运行不成功都是因为没有在这里设定晶振频率。必须要设定!!!配置供电网要想仿真使用
原创
2021-06-07 17:53:43
5309阅读
当使用Keil软仿真STM32时,SystemClock设置为72MHz,使用循环延迟1s钟,实际时间明显大于1S钟,但是Keil调试窗口显示的确实是1s钟//毫秒级的延时void delay_ms(u16 time){ u16 i=0; while(time--) { i=12000; //自己定
转载
2018-02-28 13:50:00
447阅读
2评论
最近才做的板子由于自己的粗心把串口线搞反了,还好只有两条,飞线解决,而且现在还只是样板,但是还是应该引以为戒,以后做硬件一定要谨慎。今天同事出差把CAN分析仪拿走了,本来在开发板上调试好的程序不知为何移植到板子上以后CAN突然不能发送数据了,恰好今天没法用硬件调试,只能用软件仿真了。除了CAN部分在主函数前还有和USART相关的操作,起初我苦思冥想也没想到这能有什么错,之前用开发板的时候串口和CA