-
概述本章通过使用模数转换器(ADC),通过轮询方式采集多个ADC通道电压。之前已经做过DMA方式采样,详情请查看:https://blog.csdn.net/qq_24312945/article/details/106557538硬件准备首先需要准备一个开发板,这里我准备的是NUCLEO-F030R8的开发板:选择芯片型号使用STM32CUBEMX选择芯片stm32f03...[详细]
-
1.stm32f103re,使用外部晶振32.768k,没有校准rtc时钟,使用串口打印时间,用带时间戳的串口工具记录串口接收的时间。2.测试时间一天。数据如下:开始计时:电脑时间stm32时间00:03:20结束计时:电脑时间stm32时间25:35:50历时:电脑25:32:01:641stm32时间25:32:303.结论...[详细]
-
STM8S003为例,其1RAM,最高512默认为堆栈用的留给用户的就只有512这512按51的理解分为idataxdata即@tiny@near不加关键字限制,就默认为idata区(小于256的地址),chartttds;如果idata区超出范围则提示segment.ubsctsizeoverflow(5)加上关键字则定义为256地址以上的区域,@ne...[详细]
-
为什么需要printf?首先,这个printf不是标准C中的printf,这个printf是自己参考标准库实现的。只是简单地完成了打印输出int,longlongint,unsignedint,unsignedlonglongint,float,double和十六进制数等功能。主要用于在以后的学习中,输出变量、寄存器等的数据,便于调试程序。1.函数调用中的参数传递根...[详细]
-
单片机与外界的信息交互主要有两大类,输入信息和输出信息。之前的博客介绍了通过单片机控制LED灯和数码管向外界输出信息,该教程介绍单片机常用的输入设备——独立按键和矩阵键盘。一、独立按键1.1独立按键的原理独立按键一共有四个针脚,两个短针脚之间默认不导通,两个长针脚之间默认导通。实物图如图:1.2独立按键的仿真电路在Proteus中对按键进行了简化,只有两个接线针脚。按...[详细]
-
中国作为产煤大国,煤矿安全一直都是重中之重。如何保证井下和井上之间可靠的实时语音通信,越来越受到关注和重视。目前煤矿通信系统主要分为两种:一种是调度电话,包括有线和无线电话;另一种是井下局部扩音电话系统。对于数字通信方式,目前许多公司仍采用模拟信号来实现煤矿语音系统,与数字语音通信系统相比,其存在不稳定、不灵活等缺点,而现阶段模拟通信系统已逐渐被代替。目前,现场总线已发展成为集计算机网络、现...[详细]
-
PWM类似于开关电源,将高电压中间插入地脉冲,来将有效电压降低,在某些电压不敏感器件中,可以实现电压降低的效果。例如LED的亮度变化。前文有说过,Harmony的Dynamic还不是很完善,在PWM上就有体现,PWM需要OC与静态Timer配合,如果有其它Timer在在使用Dynamic,不想全部改为Static,可以直接使用PLIB函数,可以从其它Static函数往底层去看,也是通过st...[详细]
-
1,操作体系软件的代码不能太长由于51系列单片机的体系硬件资本相对缺乏,假如操作体系的代码比运用程序的代码还大,乃至使得用户的运用程序要考虑给操作体系让出资本,这样的操作体系即便功用再完善,也不实用。如今盛行的嵌入式操作体系就不能运用于51系列单片机,原因是代码太大。开发一个5000行的基于裸机的运用程序也即是占用7~8KBROM空间,一个操作体系用掉了几十KB,占空间不算,实时性的优势恐...[详细]
-
一、总览HAL层里的库函数和大家熟悉的stm32lib基本上是一致的。一般来说一个cpu外设的操作函数分成两部分,分别是init和operation。来看一个cube里的例子:staticGPIO_InitTypeDefGPIO_InitStruct;intmain(void){/*ThissamplecodeshowshowtouseGPIOHALA...[详细]
-
嘿嘿,学习stm32已经有一段时间了。以前纠结过一个问题,(USART)串口的可变参数问题,查找C语言的书终于还是解决了,自己编写了一个USART_printf()函数,功能模仿C语言的printf,实现可变参数处理。有点小成就感。我也因此发表了一下C语言可变参数的博文,同学们有兴趣可以参考一下:http://blog.sina.com.cn/s/blog_6e22f4ce0101...[详细]
-
在单片机系统中,程序的存储一般放在flash中,不易丢失的数据一般存放在EEROM中(比如说我们经常使用的AT24C02,、AT24C256),一般情况不建议将频繁读写的数据存放在Flash中,一方面FLASH在单片机中都是1K或2K为一页,在执行擦除指令时,一次最少要擦除一页的数据。FLASH支持单字节读写,但每次在更新数据前都必须先擦除原数据,然后才能重新写入数据,而不能在原数据基础上更新内...[详细]
-
简介 本文主要基于ARM嵌入式模块系统展示在嵌入式Linux中使用摄像头示例,所采用的模块为ToradexVF61,是一款性价比极高但不包含硬件视频编解码加速的模块,核心处理器为NXP/FreescaleVybrid,Cortex-A5和M4异构双核架构。 1)。目前越来越多的嵌入式系统采用摄像头应用,其中主要有下面几种方式 远程监控:如闭路电视系统,操作人员通过摄像头...[详细]
-
/**************************************************************;eeprom.c;读/写atmega8515内部EEPROM的例子;将数据0....9写入eeprom中,再读出用数码管显示出来***************************************************************/...[详细]
-
试分析以下几个中断优先级的排列顺序(级别由高到低)是否有可能实现?若能,应如何设置中断源的中断优先级别?若不能,试述理由。内容来自单片机之家www.dpj100.com1)T0、T1、/INT0、/INT1、串行口;2)串行口、/INT0、T0、/INT1、T1;3)/INT0、T1、/INT1、T0、串行口;4)/INT0、/INT1、串行口、T0、T1;5)串行口、T0、...[详细]
-
放了一段时间,对stm32似乎有点陌生,总结一下!(基于3.0固件库,芯片stm32f103rbt6)1、配置串口的管脚和时钟由于串口1、2是在GPIOA上:所以要是能串口GPIOA、AFIO和1或者2的串口时钟,代码如下:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO|R...[详细]