STM32——USART1重映射 为了使不同器件封装的外设 IO 功能数量达到最优,可以把一些复用功能重新映射到其他一些引脚上。STM32 中有很多内置外设的输入输出引脚都具有重映射(remap)的功能。我们知道每个内置外设都有若干个输入输出引脚,一般这些引脚的输出端口都是固定不变的,为了让设计工程师可以更好地安排引脚的走向和功能,在 STM32 中引入了外设引脚重映射的概念,即一个外设的引脚除了具有默认的端口外,还可以通过设置重映射寄存器的方式,把这个外设的引脚映射到其它的端口。...
STM32 CAN通信之二:正常模式 昨天测试了CAN通信的环回模式,今天逻辑分析仪到手了,借助这一神器完成了今天的CAN通讯之正常模式数据收发。对于CAN通讯正常模式来说,没有逻辑分析仪或者CAN盒(某宝上可以买到),分析数据,想要调通的话只能看运气了,有了工具就可以轻松的看到数据的收发过程。本次正常模式的测试是用两块板子进行测试,一块板子(STM32F103RET6)用于发送数据,另一块板子是正点原子的战舰开发板(STM32F103ZET6)用于接收数据(中断方式接收)。两块板子的CAN_H和CAN_H相连,CAN_L和CAN_L相连。
STM32 CAN通信之一:环回模式 最近在学习CAN通信协议,先测试了一下环回模式,以确认硬件电路是没有问题的。由于手头上暂时没有逻辑分析仪,后期再测试CAN通信正常收发模式。期待【STM32 CAN通讯之二:正常模式】。记录一下整个测试的过程,算是一种总结,后期方便自己查阅,同时也可以给正在搞CAN通信的小伙伴一点点参考借鉴。软件:STM32CubeMX(V5.2.0)+KEIL本例程采用的芯片是STM32F103RET6,其中CAN通信部分硬件电路连接如下图所示,CAN_P和CAN_N分别连接到芯片的PA11和PA12引脚上,PC
STM32F030F4P6-提高ADC采集精度 STM32F0/F1系列的ADC都是12位的,通常情况下我们都需要将AD采集的码值进行转换得到实际的电压值,然后根据不同类型的传感器,换算为对应的温度、压力等数据。常规的算法是,将ADC采集到的值ad_value用3.3V对应的码值(4095 = 2^12-1,因为是12的ADC)来进行换算,ad_value*3.3/4095,这种情况对于要求不是很高的场合可以适用,但是对于采样精度要求较高的场合就不合适了。因为电源电压3.3V通常都不是稳定的3.3V,所以采集的值会随着电源电压波动。为了解决上述的
硬件电路之滤波电容 半波整流电流是常见的一种将交流转成直流的电流。如下是一个简单的半波整流电路,利用二极管的单向导通性,将AC20V,整流成直流。断开开关,不接滤波电容波形,红色是输入波形,绿色是输出波形。为了方便看清波形,将输出波形向上平移了。闭合开关S1,接10uF电容,电容不停的充放电,输出有纹波,纹波较大,输出波形如下闭合开关S1,接100uF电容,输出波形相对比较平滑,输出波形如下:闭合开关S1,接1000uF电容,输出波形接近是直线,稳定输出根据实际情况来选择滤波电容的大小.
python 未来5天天气查询 个人网站:https://chenqi.autmake.com/雨打梨花深闭门,忘了青春,误了青春。天气对人们日常生活的重要性不言而喻,提前了解天气,早做安排,早做准备。以下程序用了十几行代码,调用天气查询API,获取所查询城市近5天的天气。import requestsimport jsonweatherUrl = "http://wthrcdn.etouch.cn/we...
STM32定时器中断(HAL)——战舰开发板 个人网站:https://chenqi.autmake.com/一、定时器介绍STM32F1 的定时器功能十分强大,有 TIM1 和 TIM8 等高级定时器,也有 TIM2~TIM5 等通用定时器,还有 TIM6和 TIM7 等基本定时器。下面以通用定时器TIM3为例来简单介绍STM32定时器的使用。STM32F1 的通用定时器是一个通过可编程预分频器(PSC)驱动的 16 位自动装载...
STM32实现数码管显示DS18B20温度 个人网站:https://chenqi.autmake.com/1.数码管介绍数码管分共阴极连接和共阳极连接两种,本次试验所用的数码管为共阴极连接方式,如下所示。数码管为4位8段数码管,8段分别是A,B,C,D,E,F,G,DP,如显示数字3,需要将A,B,C,D,G点亮,显示其他数字原理相同。2.硬件资源介绍试验采用的是正点原子mini开发板,一个DS18B20,一个...
CMD命令运行java程序 1.打开cmd窗口快捷键:windows+R2.输入java程序所在路径,如d:3.切换到java程序所在的文件夹下4.运行javac HelloWorld.java命令,再运行java HelloWorld命令即可javac后面跟着的是java文件的文件名,例如 HelloWorld.java。 该命令用于将 java 源文件编译为 class 字节码文件,如:jav...
python导入自定义模块 最近学习python的模块,遇到了一个问题,就是导入自定义模块时提示我找不到这个模块(如下图),相信大多数人都遇到过这个问题。在此简单记录一下自己的解决过程,当是自己的学习笔记了。系统弹出提示找不到模块时,第一反应就是路径的问题。于是上网百度,也证实了这一点。网上的解决办法也有很多,下面主要介绍三种方法,亲测可用。但是个人推荐第三种。方法一:这个方法可谓简单粗暴了。直接将自定义的模...
STM32 DAC无法输出0V的问题 前段时间在使用STM32F103RET6的DAC功能时,发现无论如何设置输出值,最低输出电压始终到不了0,输出电压最低只能到0.059V,不同的芯片可能略有不同。最低电压经过运放放大后有0.2V,偏差有点大了。因此就在网上找解决办法,在官方论坛看到了一篇帖子,提到了相同的问题,分享给大家。只需要将OutputBuffer这项参数设置为Disable就可以输出到0V。详细帖子内容可以自行...
STM32CubeIDE初识 个人网站:https://chenqi.autmake.com/ST公司前段时间推出了STM32CubeIDE1.0,搭配STM32CubeMX5.2.0一起使用,整体效果还不错。鉴于这款软件才面世,所以网上的资料相对较少。基本都是官方的英文资料。本文的目的是引导大家从头到尾建立一个新的工程,相信对熟悉STM32CubeMX的人来说不是什么难事。首先,我们得有工具,以下提供官网下载...
HAL LM35单通道温度采集 LM35是一种价格便宜,精度在±1℃范围内,温度范围为0~100℃的温度传感器,应用比较普遍。它的输出电压与摄氏温度成正比例的温度传感器,其灵敏度为10mV/℃。使用非常方便。以下将介绍LM35温度采集的例程,有两点需要注意:一是,LM35供电为5V,如果接3.3V可能不能正常工作;二是,AD采集的时钟频率最大不能超过14M,手册中有相关说明,感兴趣的朋友可自行去阅读,例程使用的芯片是stm3...
STM32跑马灯实验 个人网站:https://chenqi.autmake.com/接触单片机的第一个实验就是跑马灯实验,虽然实验并不难,但开始却并不容易,跑马灯实验对于老司机来说简直小菜一碟。可这对于一个不懂硬件的新手来说,真的不容易。那段时间经常看STM32中文参考手册_V10,也看了Cortex-M3权威指南。慢慢的明白了其中的原理,也知道了为什么要配置成上拉、下拉、推挽输出、复用推挽输出。跑马灯实验大...
快速转到CSDN收藏文章 之前在CSDN中收藏了一些别人发表的文章,今天先集中花时间去看看,结果在自己的CSDN账号中,就是没有找到收藏的文章,很是让人头疼。于是就去网上找,发现了一个能快速转到自己收藏的文章的方法。在登录CSDN账号的前提下,点https://my.csdn.net/my/favorite,就可以快速转到收藏文章界面。 希望可以帮助到遇到同样问题的小伙伴。...
C#自定义控件的创建 写在前面:个人网站:https://chenqi.autmake.com/C#自定义控件的创建在编程过程中,现有的c#控件远远不能满足我们的需要,这时候就需要我们自己来开发控件了。本人在开发自定义控件时走了一些弯路,写下此篇,希望能够给有需要的朋友一些帮助,也借此加深自己的印象。1.创建自定义控件选择【经典桌面】——【窗体控件库】2.添加控件,组合成一个新的控件自定...
python3.x 模块(库)的安装 个人网站:https://chenqi.autmake.com/刚开始学习python时,不会自己写代码,经常会去网上复制一些代码,运行后经常会提示找不到模块。一直很苦恼,直到最近,解决了这个问题,所以想把这个问题的解决方法分享给大家,希望能够帮助遇到同样问题的人。我用的是python3.6.5 编译器python3.6.5 shell编译器通常会提示:找不到【pickle】...
python3.x 实现天气查询 通过python3.6.5实现对中国天气网天气查询【1】将city信息保存为文件,文件比较大,如果放在【天气查询.py】中较大,程序结构也不好,因此先保存为.pkl文件,在【天气查询.py】中通过pickle.load()加载出来import picklecity = { '北京': '101010100', '海淀': '101010200', '朝阳': ...
STM32定时器中断 写在前面本实验的目的是通过定时器中断控制LED灯的亮灭。笔者所用IDE为IAR,采用标准库(3.5固件库),通过定时器产生中断来控制LED。led.h文件#ifndef __LED_H#define __LED_H#include "stm32f10x_gpio.h"#include "stm32f10x.h"#include "stm32f10x_rcc.h"#in...