自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 IIC通信

需要输出低电平时,下管导通,强下拉输出低电平。例如:在0x01处写入数据后,调用当前地址读时序,此时电路在当前地址指针的指引下会自动寻找到0x02位置,然后读出数据。释放SDA后,从机想发送低电平就拉低总线,发送高电平就释放总线,主句根据总线的高低电平就能识别从机发送的是什么数据了。如果主机不释放SDA,主机输出低电平,则无论从机发送什么数据,总线始终为低电平,主机也就无法识别接收到的数据了。推挽输出:当主机与从机均处于输出状态时,如果主机输出高电平从机输出低电平,会出现短路状态。

2024-04-24 10:58:06 249

原创 串口通信(下)

【代码】串口通信(下)

2024-04-24 00:30:29 119

原创 串口通信(上)

空闲状态为高电平 且起始位固定为低电平 的目的是避免各个数据混淆在一起,用于正确区分数据帧。异步时钟:外设内部没有时钟源,需要双方约定合适的采样频率来确保正确收发数据。文本模式:通俗讲就是将原始数据作为某个表的编号,去查找对应位置的数据。同步时钟:外设内部具有时钟源,能自己产生时钟来保证正确收发数据。奇偶校验:在数据帧末尾增加一位 保证数据帧1的个数为奇数或偶数。差分电平:电平信号高低由两点之间的电压差决定。半双工:拥有一根通信线,收发数据不可同时进行。双工:拥有两根通信线,能同时收发数据。

2024-04-23 23:13:08 132

原创 DMA字节存储器存储

这时候可以使用DMA来搬运数据,每一次AD转换完成后及时将数据搬运到其他地方,避免数据被覆盖。ADC扫描模式下,每转换完成一次数据,将数据写入到ADC_DR后,发出触发信号。DMA随即将ADC_DR位置的数据搬运到存储器。然后ADC再不断转换写入数据,不断触发DMA去搬运数据,从而实现多路ADC及其数据的存储。外设寄存器:仅表示需要搬运数据的某个寄存器,可以是外设的寄存器也可以是系统内的某个存储器。给ADC一次触发信号,硬件就会不断得进行数据的转换和转换完成后的数据搬运。传输计数器计数值大于0。

2024-04-18 21:57:58 260

原创 ADC模数转换器

逐次逼近:通过不断改变写入到DAC的数据,改变其输出的模拟量,经过比较器找出与输入量近似相等的值,即可将此时的数字量来替代模拟量实现模拟到数字的转换。规则通道只能输出到一个寄存器,若需接受多个通道数据,要考虑数据转运问题,可使用DMA转运计数。由于AD转换速度较快,可以通过地址锁存器快速切换输入通道,实现多通道的AD转换。转换模式:触发转换后会自动转换接下来的数据,无需再次启动。EOC标志位与看门狗均可用于触发中断。扫描模式:可以按顺序扫描多个序列的值。在DAC电路中写入数据可输出模拟量。

2024-04-12 23:13:27 518

原创 TIM编码器接口

极性选择:控制输出波形是否反转。上升沿:不反转,下降沿:翻转。同时使用T1与T2进行计数,可有效防止毛刺信号带来的影响。

2024-04-12 22:49:31 176

原创 TIM输入捕获

滤波器用来滤除输入信号的噪声。配置了从模式后,一旦接收到要捕捉的边沿,硬件自动触发从模式电路,减少软件资源的使用。一通道与二通道是交叉相连的,即边沿检测器可以生成两个触发信号,同时用于触发另一个通道,因此可以同时用两个通道捕获一个输入信号。由于输入捕获与输出比较公用同一路定时器通道,所以一路通道上不能同时使用IC和OC。双通道同时捕获一个输入信号:占空比=CCR2/CCR1。测频法适用于高频信号,测周法适用于低频信号。

2024-04-11 16:43:31 211

原创 TIM输出比较

配置好输出模式后,根据CNT与CCR的值输出REF,经过死区生成电路(输出同时接一个MOS管时,两个管子不能同时导通否则会造成短路,而两个管子切换电平状态需要一定时间,生成死区将这段时间延时过去),经过数据选择器选择输出电平的极性最后输出。通过控制PWM占空比可以获取我们需要的等效模拟量。

2024-04-11 16:12:33 173

原创 TIM定时中断

影子寄存器的作用:技术中途自动加载寄存器的数值改变,但系统仍保持之前的寻数目标,知道寻找到以后才切换目标。定时器本质上就是一个计数器,单片机一旦运行计时器便开始以设定的频率开始计数,一旦达到设定的目标值会中断主程序,进入到中断函数,完成中断函数后的代码再出来运行主程序并进行下一次计时。将外部引脚的输入波形作为定时器的时钟源,因此要初始化要使用的外部引脚,同时改变定时器的时钟配置,将其配饰为外部时钟输入。A:可以将定时器的某个信号作为另一定时器的时钟,形成定时器的级联,可以大大增大定时器的最大计数值。

2024-04-08 20:53:09 552

原创 EXTI外部中断

中断程序执行时间应尽量短:中断程序是打断主程序后执行,如果中断程序执行时间过长会对被打断的代码造成较大影响,因此中断程序执行时间越短越好。使用NVIC统一管理中 断,每个中断通道都拥有16个可编程的优 先等级可对优先级进行分组,进一步设 置抢占优先级和响应优先级。由于旋转方向不同,两个开关的导通时间不同,A,B处的电压波形便会产生一定的相位差,通过分析波形可判断旋转方向。•配置EXTI,选择中断线路,中断方式(事件,中断),有效触发边沿。• 配置NVIC,选择分组方式,中断通道,抢占优先级和响应优先级。

2024-04-06 13:51:52 311 1

原创 GPIO输入

引脚处于悬空状态时引脚电平不确定,具有一定危害,为防止此问题可从内外部解决。在单片机内部配置输出模式,或在外部加入一定的电路设置均可解决此问题。按键抖动问题可利用Delay函数和定时器解决,Delay函数运行时,程序类似进入死时,占用较大单片机资源,定时器则无此问题。两种类型的关键字均在Keil中均是正确的,一般使用stdint关键字,原关键字兼容老版本Keil软件。枚举变量:成员变量的值只能从定义的集合内选取,否则会产生错误。常用于打包数据的还有数组,但数组只能打包同一类型的数据。

2024-04-01 19:37:41 227

原创 GPIO输出

GPIO输出

2024-03-30 15:31:37 445 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除