- 博客(47)
- 收藏
- 关注
原创 ADC的知识
若想1ms采样完6个adc通道的数据,就是1ms采样6次,1s采样6000次,那么采样率就是6KHZ。若想采样1KHZ,就是1s采样1000次,即1ms采样1次。一般来说,差分输入有利于避免共模干扰的影响,结果相对准确。因而需要通过控制adc的采样转换总时间来达到效果,):使用一组输入引脚分别作为参考电压。,分为单端模式校准和差分模式校准;时间后循环进行转换,直到手动关闭。4.单一转换模式、连续转换模式。):使用单个输入引脚,采用。12位、14位、16位。将停止,数据将被拉入。=采样时间+转换时间。
2024-07-21 21:39:04
1170
原创 CLion开发环境 一键替换快捷键
或 Command + Shift + R(Mac)来打开 "Find and Replace" 对话框。使用快捷键 Ctrl + Shift + R(Windows/
2024-03-13 14:45:38
805
原创 Windows 暂停更新
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings。3:双击FlightSettingsMaxPauseDays,修改里面的值为100000,右边基数设置为十进制。右键空白的地方新建DWORD值命名为:FlightSettingsMaxPauseDays。设置为100000就是最多暂停100000天,这个值可以自己定义。1:win+r,输入regedit打开注册表。
2024-03-10 15:55:47
225
原创 STM32 通过Modbus协议更改内部Flash(模仿EEPROM)的运行参数
【代码】STM32 通过Modbus协议更改内部Flash(模仿EEPROM)的运行参数。
2024-03-08 09:08:43
470
原创 stm32flash模拟eeprom
STM32的FLASH主存储块按页组织,有的产品每页1KB,有的产品每页2KB。页面典型的用途就是用于。从这点来看,页面有点像通用FLASH的扇区。这样我们就可以不用在外部另外来加EEPROM了。stm32f103的flash是128k。通常情况下程序也不会把FLASH写满;
2024-03-05 13:59:29
307
原创 定时器(PWM输出)触发ADC采样(中断)——STM32CubeMX
【代码】定时器(PWM输出)触发ADC采样(中断)——STM32CubeMX。
2024-03-04 09:59:41
2355
1
原创 双ADC的使用 PWM触发ADC采样 ADC中断和DMA ADC自动校准——STM32CubeMX
【代码】双ADC的使用 PWM触发ADC采样 ADC中断和DMA ADC自动校准——STM32CubeMX。
2024-03-04 09:35:49
712
1
原创 定时器(PWM输出)触发ADC采样(DMA)——STM32CubeMX
已知 Tclk 为 84MHz , 我们需要 Tout 为 200ms 即 200000us , 不妨先让PSC为 839, 带入上述公式可得 ARR = 19999. 这样算出来之后ARR和PSC都在0~65535的范围, 则可以使用这组参数。例如,如果时钟频率为1MHz,并且PSC设置为1000,则实际的定时频率将为1kHz。当重装载值(Period 或 ARR)设置为 500 时,意味着定时器需要计数 500 个时钟周期才会触发中断。例如,如果时钟频率为1MHz,则Tclk为1微秒。
2024-02-27 21:15:29
10984
10
原创 字符串转整形(3种方法 )strtol函数和atoi函数
字符'2'的ASCII值是50,而字符'0'的ASCII值是48。在C语言中,可以使用atoi()函数来将字符串'1'转换为整数1。#include // 为了使用 errno 和 strerror() 函数。printf("转换错误: %s\n", strerror(errno));#include // 为了使用 strtol() 函数。// 将字符'2'转换为整数2,并存储在a数组的第二个位置(索引为1)printf("%d\n", a[1]);
2024-02-24 15:45:40
1492
原创 STM32串口通信(中断、DMA、轮询)
中断服务函数中,主要是收集数据,以及判断数据是否接收完成,清除标志位的方式RXNE与IDLE是一样的,只不过IDLE要多一步读取SR寄存器,RXNE清除的方式是读取USART_DR的内容,而IDLE的清除方式是先读SR再读DR方式进行清除。第一种方式明显不好,原因有两个:1.接收一个数据就中断一次去处理数据,数据多的话,程序老是被被打断,这样有可能会产生不好的效果。假设要接收的一帧数据实际长度是60字节,此处使能的Size最好是两倍多,所以我设置了128字节长度。一种是等待数据发送完了,产生一个桢中断。
2024-02-21 11:39:58
1673
原创 C语言 知识点扫盲
其实,这是错误的,事实上“480mbps”应为“480兆比特/秒”或“480兆位/秒”,它等于“60兆字节/秒”,大家看到差距了吧。1 汉字 = 2 byte = 16 bit (这里不是很准确,当编码不同的时候,1个汉字所占的字节数也会有所不同,有些编码是占 2个字节,有些则不是,可能是 3个或者 4个)后来加入了字母,程序符号等,8bit也足够了,而这时诞生了ASCII编码的标准,大家就说把8bit表示出来的值叫做字节(byte)吧,于是就有了字节这个单位。如56Kbps、100.0Mbps 等等。
2024-02-20 13:44:32
208
原创 LCD屏幕的算法学习
LCD的 像素间距(pixel pitch)的意义类似于CRT的点距(dot pitch)。点距一般是指显示屏相邻两个象素点之间的距离。我们看到的画面是由许多的点所形成的,而画质的细腻度就是由点距来决定的,点距的计算方式是 以面板尺寸除以解析度所得的数值,不过LCD的点距对于产品性能的重要性却远没有对后者那么高。
2024-01-25 09:17:49
495
原创 使用DMA必须打开全局中断
在USART和DMA结合使用时,数据通常会从内存直接传输到串口的缓冲区,或从串口缓冲区直接传输到内存,而不需要CPU的干预。总之,为了确保DMA传输的正确性和效率,以及避免不必要的状态混淆或死锁,在DMA模式下使用USART时开启中断是非常必要的。也可以在主程序中轮询DMA的状态标志,但这不是最佳实践,因为这会降低程序的效率和响应性。虽然DMA传输可以自动完成数据的发送或接收,但有一些关键的时刻或事件需要CPU的介入。在中断服务例程中,编写代码来处理DMA传输完成的事件,并据此更新串口的状态。
2024-01-18 23:38:33
1398
1
原创 FreeRTOS实验 STM32——学习链接(串口 队列 StreamBuffer)
stm32 freertos 之串口中断 - 代码先锋网 (codeleading.com)
2023-11-21 19:14:27
241
1
原创 计算机网络(笔记)
如果发送方把数据发送得过快的话,接收方就可能来不及接收,这就会造成数据的丢失。四次也是可以的,但是为了节省资源,三次握手就可以符合实际情况,所以就没必要设计成四次握手、五次握手等等情况。占8位,指出此数据报携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个处理过程。若没得到客户端的回复,就直接进行连接发送数据,若此时客户端没有连上,那么就会导致数据丢失。客户端不知道服务器有没有连上,此时客户端直接发送数据,导致数据丢失。客户端发送请求连接之后,客户端不知道服务器是否请求成功了,
2023-09-09 17:57:19
101
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人