- 博客(22)
- 收藏
- 关注
原创 STM32ZET6-USART使用
RB8和TB8是奇偶校验位,可选择是否使用。一般需要校验位,则选择9bit数据,不需要校验位则选择8bit。波特率:每秒传输码元的个数,可能每个码元包含信息量不止1bit,单位为码元/s,或者为bund。比特率:每秒传输bit的速率。单位bit/s,或者bps。在二进制调制的情况下一个码元就是一个bit。
2024-11-02 15:52:18 469
原创 STM32F103-ADC采集(+DMA)
两个内部信号源是内部温度采集和内部电压,内部参考电压是内部1.2V的基准电压,不随外部供电的改变而改变,如果外部供电电压不准,那么可以进行内部基准电压采集校准。模拟看门狗可以进行自动检测阈值。
2024-10-25 16:31:05 843
原创 CAN2.0A,CAN2.0B
如果您要组网的CAN设备同时支持CAN 2.0A和CAN 2.0B,那么它们可以在同一总线上进行通信。在这种情况下,CAN 2.0A设备和CAN 2.0B设备可以通过共享相同的物理连接进行数据交换。CAN 2.0A和CAN 2.0B是CAN协议的两个不同版本,它们有一些细微的差异。CAN 2.0A和CAN 2.0B的物理层是一致的,它们都使用相同的电气特性和传输速率。因此,从物理层上来看,CAN 2.0A和CAN 2.0B是可以组网的,可以共享相同的总线进行通信。
2024-10-17 10:07:57 147
原创 STM32F103C8T6 - 定时器
PSC、CNT和自动重装载寄存器构成了最基本的计时电路(时基单元),基本定时器只能选择内部时钟,所以时基单元直接连接到了内部时钟输入CK_INT。RCC的TIMxCLK一般都是系统的主频72MHz。时基单元可以对系统的72MHz输入时钟进行分频,0为不分频,/1。值为0-65525,即1-65536。CNT(16bit)对输入的时钟进行计数,没来一个上升沿,计数+1,CNT可以从0加到65535,正常会一直加到目标值,如果到了目标值,会产生中断,中断结束后会从继续0开始。
2024-10-08 10:59:55 1439
原创 STM32F103C8T6-中断
灰色为内核中断,中断地址是每次中断后跳转的地址,是固定的。相同的PIN不能同时触发中断,比如GPIOA1,GPIOB1.,可触发中断响应,也可以触发事件响应。
2024-09-14 18:05:31 639
原创 GPIO输出-STM32F103C8T6
基本的传感器分压电路,N1是可变电阻,C2接地,应该是滤波电容,N1和R1对VCC进行分压,当N1电阻为0,下拉作用最大,此时输出为低电平0V。当N1无穷大,等效断路,VCC上拉输出。N1对VCC进行分压,实际为VCC/(N1/(R1+N1)),AO点的电平为减去R1分压后的电平,即N1电平。二值化芯片,对输出电平进行二值化,使用LM393(内部为电压比较器(运算放大器电路)),IN+输入模拟量,运算放大器进行二值化,IN-的滑动变阻器用于对LM393输入二值化阈值。对IN-和IN+比较就能生成输出。
2024-09-14 14:07:25 335
原创 keil断点调试
命令窗口开关-反汇编窗口开关-符号窗口,可以实时查看所有的变量值(点击后在watch可以显示)- 寄存器窗口-栈窗口-串口窗口-波形图窗口等。System Viewer是系统资源查看,可以看到所有的芯片外设寄存器,可以看到寄存器的值。设置断点点击全速运行会运行到断点处。
2024-09-14 14:06:22 230
原创 keil生成bin文件(简单)
3、点击bulid即可在工程目录生成HexBin文件夹,下面有bin文件。1、在工程文件夹创建HexBin.bat文件,将以下内容复制进去。::将bin文件生成到HexBin文件夹 >nul屏蔽成功命令。::将hex文件复制到HexBin文件夹。::设置fromelf.exe位置。::创建输出文件夹 HexBin。::设置.axf文件所在目录路径。::设置.axf文件的位置。2、keil魔术棒进行配置。::设置输出后的文件名。::将hex文件重命名。
2024-09-13 10:14:02 417
原创 keil5安装和配置
3、赋值keil下的C51下的tools.ini内的文本,在keil下的MDK下的tools.ini内的最后添加这些文本。2、将keil下的C51文件夹下的UV4文件夹内的内容全选,复制到MDK文件夹下的UV4中,跳过相同的文件。1赋值到LIC,2选中C51,3点击ADDLIC,进行破解。4、刚复制进来的文本的path更新成MDK的路径。1、将C51中的C51文件夹放到MDK文件夹中。3、使用安装包安装C51到C51文件夹。4、安装MDK到MDK文件夹。可在官网下载或者其他地方获取。同理添加ARM破解码。
2024-09-11 18:04:41 390
原创 STM32新建工程(STM32F103ZET6为例)
鼠标点击main文件中,双击即可生成代码以上建立的寄存器开发环境(我们对寄存器开发环境进行了解即可,下面一小部分是寄存器开发点灯示例,不感兴趣可以跳过)(a)首先是RCC的寄存器,来使能GPIO的时钟,GPIO都是APB2的外设APB2 外设时钟使能寄存器(RCC_APB2ENR)写1是打开GPIOC时钟,即RCC->APB2ENR = 0x00000010;(b)需要配置PC13口的模式(端口配置高寄存器(GPIOx_CRH) (x=A..E))CNF13和MODE13就是配置13号口的。
2024-07-05 14:08:17 1759
原创 sit3490e作为485/422收发器
SIT3490E是芯力特的RS422芯片,这个芯片可以实现全双工通讯,功能上可以pin to pin替代MAX3490。工作电压范围为(3.0-5.5)V,在总线上最多可以挂载256个子节点。传输速率最高可达14Mbps。
2024-04-07 19:27:52 1023 2
原创 基于USART的RS232、485、422通信
TTL电平:高电平为5V,低电平为0VCMOS电平:CMOS电路输出高电平为3V~12V,低电平输出接近0V计算机的MAX232电平:高电平为-5V到-12V,低电平为+5V到+12V,为负电压电平TTL电路和CMOS电路的逻辑电平关系如下:1:CMOS是场效应管构成,TTl为双极晶体管构成;因为TTL和CMOS的高低电平的值不一样,所以互相连接时需要电平的转化。2:TTl电路是电流控制器件,而CMOS是电压控制器件3:TTL电路的速度较快,传输延迟时间短(5-10ns),但是功耗大;CMOS电路
2024-04-07 18:49:37 1897 1
原创 STM32采集4-20mA传感器,以及ADC+DMA出现的问题及解决
STM32103ZET6为例,内部ADC采集12bit,0-3.3V对应采集到12bit的0-4095数值,则采集的电流对应大约为0.48/3.3*4059~2.4/3.3*4095-->595~2978数值。电路输入4-20mA,作用在120欧姆电路(后面面是电压跟随电路,并联),对应输入电压0.48~2.4V。(采集的数值-595)*6000000/(2978-595)=采集的压力(pa)4-20mA采集电路。
2024-02-01 16:07:40 4045 5
原创 补码的性质
补码(two's complement)1、在计算机系统中,数值一律用补码来表示(存储)。主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补 码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。2、补码与原码的转换过程几乎是相同的。
2023-11-13 19:30:58 124
原创 PID转载(直流电机PWM+PID)
比例作用的输出与误差的大小成正比,误差越大,输出越大,误差越小,输出越小,误差为零,输出为零。具体参数整定原则:一开始先加大比例P,p小了会达不到目标速度,会差很多,所以再加大p,知道电机出现‘嗒嗒嗒’的抖动或者观察上位机的波形剧烈抖动的时候,这时候p就过大了,实际上p可以不是很大,比如400,调试时候增加幅值可以设为20,I稍微来点就可以,平衡车的工程经验是ki=kp/200,但是这里我给的是0.01,还要看具体情况,积分参数过大,实际速度和目标速度的静差会很大。均可以达到0.1%,甚至更高的控制要求。
2023-09-18 14:50:42 1888
ECM简单测试,4-20mA电流传感器抗干扰测试,信号地隔离,电感电容添加测试、外部干扰内部干扰分析
2024-06-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人