04 2018 档案

摘要:实现功能:采用定时器2的通道2,使PA1输出频率1K,占空比40的PWM波形,用PA8随意延时取反led灯,指示程序运行。 首先熟悉一下定时器的PWM相关部分。看图最明白 其实PWM就是定时器的一个比较功能而已。 CNT里的值不断++,一旦加到与CCRX寄存器值相等,那么就产生相应的动作。这点和AV 阅读全文
posted @ 2018-04-23 10:29 fire909090 阅读(7174) 评论(0) 推荐(0) 编辑
摘要:stm32f1系列,有基本定时器、通用定时器、高级定时器三类TIM定时器。其中,TIM6/7是本文要讲的基本定时器。 基本定时器TIM6/7是16位的只能向上计数的定时器,只能用于定时。而通用定时器和高级定时器有更多的功能,如还可以进行输出比较、输入捕捉等功能,相关的介绍会写在后面的文章,这里只讲基 阅读全文
posted @ 2018-04-20 15:03 fire909090 阅读(3533) 评论(0) 推荐(0) 编辑
摘要:相比较于独立模式多通道电压采集实验,其实双重ADC同步模式实验就是多了另一个ADC同步而已,只是有些地方在配置和编程时需要注意而已,而且本文用的是单通道ADC。 双重ADC相对于独立模式,同时采集一个或多个通道,可以提高采样率。 可以直接配置ADC_CR1寄存器的 DUALMOD[3:0]位,用于启 阅读全文
posted @ 2018-04-19 14:50 fire909090 阅读(4852) 评论(1) 推荐(0) 编辑
摘要:接上篇文章ADC模数转换(一)——独立模式单通道电压采集实验,这篇讲了ADC的基础以及独立模式单通道采集实验。现在将介绍独立模式的多通道采集实验,还会有一篇文章介绍双重ADC模式的采集实验。 这个实验和上篇文章相比,只是通道多了,使用了DMA代替中断读取的方式,所以在上个实验的基础上,稍加修改即可。 阅读全文
posted @ 2018-04-19 14:46 fire909090 阅读(4258) 评论(0) 推荐(1) 编辑
摘要:般可用于采集电压,将电压的模拟信号转换为数字信号,经过计算以获得肉眼可读的电压值。 般可用于采集电压,将电压的模拟信号转换为数字信号,经过计算以获得肉眼可读的电压值。 般可用于采集电压,将电压的模拟信号转换为数字信号,经过计算以获得肉眼可读的电压值。 般可用于采集电压,将电压的模拟信号转换为数字信号 阅读全文
posted @ 2018-04-19 14:27 fire909090 阅读(7849) 评论(0) 推荐(0) 编辑
摘要:从字面意思上看,DMA即为“直接内存读取”的意思,换句话说DMA就是用来传输数据的,它也属于一个外设。只是在传输数据时,无需占用CPU。 DMA请求 某个外设在通过DMA传输数据前,必须先给DMA控制器发送请求,控制器会返回一个应答信号给外设,外设应答后并且DMA控制器收到外设应答信号后,便会启动D 阅读全文
posted @ 2018-04-19 11:00 fire909090 阅读(6833) 评论(0) 推荐(0) 编辑
摘要:之前的上、中两篇文章介绍了串口通讯基础和stm32的USART基本结构等相关。万事俱备只欠东风,现在是时候小试牛刀了。 简单做个USART的串口数据收发实验。实验在stm32f103上完成。 我们选择CH340G芯片来完成,其可以实现USB转USART。 查阅开发板原理图可得,CH340G芯片TXD 阅读全文
posted @ 2018-04-19 10:11 fire909090 阅读(2043) 评论(0) 推荐(0) 编辑
摘要:USART即为通用同步异步收发器,用于串行通信,例如其可以用于打印程序输出信息,以便于调试程序。 USART框图 图10-1 这里简单介绍下USART框图。 TX为发送数据的输出引脚,RX为接收数据的输入引脚,SCLK为发送器时钟输出引脚(同步模式下会用到)。其中SCLK来源于APB1总线时钟(36 阅读全文
posted @ 2018-04-19 09:53 fire909090 阅读(1464) 评论(0) 推荐(1) 编辑
摘要:通讯协议 通讯协议分为物理层和协议层。 物理层:规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输; 协议层:规定通讯逻辑,统一收发双方的数据打包、解包标准。 串口通讯物理层之RS-232 RS-232标准主要规定了信号用途、通讯接口和信号电平标准。如图9-1为常见的设备间串口 阅读全文
posted @ 2018-04-18 16:46 fire909090 阅读(919) 评论(0) 推荐(0) 编辑
摘要:在计算机设备之间经常会需要进行数据传输,我们会接触到很多的通讯方式,本文大概介绍下关于通讯的一点点概念。 串行、并行通讯 串行通讯按单个数据位进行数据传输,而并行通讯可以同时传输多个位的数据。打个比方,串行通讯更像是单车道的公路,一次只能允许一辆车通过,而并行通讯则是多车道公路,可以实现多辆车同时行 阅读全文
posted @ 2018-04-18 16:35 fire909090 阅读(483) 评论(0) 推荐(0) 编辑
摘要:SysTick即为系统定时器,又称嘀嗒定时器,是Cortex-M3内核的一个外设,集成在NVIC中。SysTick是一个24bit的向下递减的计数器,每计数一次的时间为1/SYSCLK(SYSCLK一般为72MHz)。 操作系统需要执行多任务管理,用SysTick产生中断,确保单个任务不会锁定整个系 阅读全文
posted @ 2018-04-18 15:51 fire909090 阅读(8934) 评论(0) 推荐(0) 编辑
摘要:程序运行首先会在启动文件(即startup_stm32f10x_xx.s)里调用SystemInit()函数(最终调用的是SetSysClockTo72()函数)把系统时钟初始化为72MHz。换言之,在没有修改系统时钟时,其默认为72MHz,如果需要修改,则应重新定义并调用初始化函数。 我们通过观察 阅读全文
posted @ 2018-04-18 14:53 fire909090 阅读(2099) 评论(0) 推荐(0) 编辑
摘要:当按下一个按键时,系统是如何检测到的呢? 我们通过LED灯的亮灭状态来间接完成按键检测。当按下按键时,LED灯亮,再次按下时,LED灯灭。 要完成这个实验,我们就会用到GPIO外设的基本输入功能。 查阅开发板的按键原理图,如图3-1。 图3-1 图中的K1、K2即为按键。以K1为例,当未按下按键时, 阅读全文
posted @ 2018-04-18 13:48 fire909090 阅读(6636) 评论(0) 推荐(0) 编辑
摘要:这一部分我们将使用按键作为触发源,在产生中断时,实现控制LED灯的亮灭状态切换。 在具体应用前,我们还需先认识认识EXTI。 EXTI 全称为External interrupt/event controller,即外部中断/事件控制器。其管理了20个中断/事件线,每条线都有对应的一个边沿检测器,用 阅读全文
posted @ 2018-04-18 11:26 fire909090 阅读(630) 评论(0) 推荐(0) 编辑
摘要:stm32中断的讲解我分为两部分,即两篇文章,上半部分做一个总结性的概览,有一个初步认识,下半部分会通过一个实例来讲解中断的应用。本文即为上半部分的总结性概览。 所谓“中断”,通俗地讲,就是CPU在遇到一个需要即时处理的情况时,暂时中止当前程序的执行,转而处理新情况。 在stm32参考手册中的中断和 阅读全文
posted @ 2018-04-18 10:30 fire909090 阅读(500) 评论(0) 推荐(0) 编辑
摘要:stm32可选的时钟源 在STM32中,可以用内部时钟,也可以用外部时钟,在要求进度高的应用场合最好用外部晶体震荡器,内部时钟存在一定的精度误差。 准确的来说有4个时钟源可以选分别是HSI、LSI、HSE、LSE(即内部高速,内部低速,外部高速,外部低速),高速时钟主要用于系统内核和总线上的外设时钟 阅读全文
posted @ 2018-04-17 16:08 fire909090 阅读(10903) 评论(0) 推荐(0) 编辑
摘要:Linux版本: 3.10.103网卡驱动: ixgbe 网络协议注册 inet_init主要是注册各种协议 注册TCP协议proto_register(&tcp_prot, 1) 继续注册UDP、RAW、PING arp_init, ip_init, tcp_init, udp_init, pin 阅读全文
posted @ 2018-04-11 17:36 fire909090 阅读(546) 评论(0) 推荐(0) 编辑
摘要:1. STM32的Timer简介 STM32中一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。其中系统嘀嗒定时器是前文中所描述的SysTick,看门狗定时器以后再详细研究。今天主要是研究剩下的8个定时器。 定时器 计数器分辨率 计 阅读全文
posted @ 2018-04-10 14:02 fire909090 阅读(685) 评论(0) 推荐(0) 编辑