- 博客(184)
- 收藏
- 关注
原创 stm32 - SPI
https://blog.youkuaiyun.com/u010632165/article/details/109460814
2024-01-25 13:43:55
522
原创 stm32 - 工程配置
system_stm32f10x.c、system_stm32f10x.h 用来配置时钟 //固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x。启动文件选择 根据容量选择启动文件.s //路径\固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm。
2024-01-24 23:20:16
572
原创 stm32 - GPIO高级用法
PWM信号调节LED亮度时,信号频率保持不变,即一个周期时间不变,改变的是脉冲的高电平的时间,即LED的导通时间,占空比越高,高电平的时间越长,LED亮度越亮。在PWM波形中,占空比越大,输出的脉冲信号的平均电压越大,提供给电机的能量就越大,电机接收到这个能量后,会根据输入能量的多少转动,即占空比越大,点击转速越快。具体,当PWM输出管脚接到点击的使能端时,如果高电平的所占的比值越大,即占空比越大,电机转速越快。PWM波通过改变占空比可以改变LED的亮度。PWM波通过改变占空比可以改变点击的转速。
2024-01-17 11:06:21
1381
原创 stm32 - GPIO
控制端口输出高低电平,进行驱动负载,模拟通信协议输出时序。对于控制功率比较大的设备,加入驱动电路即可。读取端口的高低电平或电压,ADC电压采集。
2024-01-13 23:37:22
697
原创 基本电路器件与通信
https://www.bilibili.com/video/BV1kv411574Y/?vd_source=7155082256127a432d5ed516a6423e20
2024-01-10 14:44:09
654
原创 汽车电子 - AutoSAR 通信协议栈
一个controller必须有一个transceiver, controller+transceiver=network。有几路CAN,就有几个controller+transceiver组合,相当于有路CAN网络。
2023-12-28 17:39:42
1380
原创 汽车电子 - DBC/LDF
小端模式,低字节在前(低字节在低地址)大端模式,高字节在前(高字节在低地址)也就是大端模式和小端模式。MSB: 最高有效位。LSB: 最低有效位。
2023-11-29 10:16:46
1166
原创 汽车电子 - UDS
27:安全访问(解锁ECU服务),ECU写入数据必须,必须要得到厂商提供的安全秘钥,然后根据秘钥利用27服务进行解锁ECU。2F: 服务输入输出控制(模拟我们的车身控制模块去控制车窗升降) ,模拟输出一个让车窗升降的信号,来控制,验证模块正常。如果在跳转到非默认会话后,没有使用非默认会话下的服务,那么ECU就会跳转回默认会话下,一般推荐5s。
2023-11-26 12:10:38
1878
原创 stm32 - 中断
为了能让硬件跳转到一个不固定的中断函数中, 需要在内存中定义一个地址列表,这个列表的地址是固定的,中断发生后,先跳到这个固定位置,然后在这个固定位置,由编译器加上一条跳转到中断函数的代码,这样中断就可以跳转到任意位置了。stm32的中断,由于硬件的限制,只能跳到固定的地址执行程序。自定义的中断服务函数,由编译器随机指定函数地址。
2023-10-01 16:14:54
1280
原创 stm32 - GPIO
寄存器:输入寄存器和输出寄存器,输出寄存器引脚输出电平,输入寄存器从引脚读取当前电平。每个寄存器有32位,但是每个寄存器都只对应16个引脚,所以只使用寄存器中的低16 位。为了避免引脚悬空导致输入数据的不稳定,需要加上上拉电阻或下拉电阻。上拉电阻:浮空引脚,保证引脚的高电平。下拉电阻:浮空引脚,保证引脚的低电平。GPIO全都挂载在APB2总线上的。每个GPIOA 都有16个引脚。驱动器负责增大信号的驱动能力。为了给输入一个默认的输入电平。上拉输入:高电平输入。下拉输入:低电平输入。
2023-09-27 23:23:46
889
原创 stm32 - 初识2
中断服务函数中的,复位中断是整个程序的入口,调用systeminit,和main函数。中断向量表,中断服务函数,其他中断等。
2023-09-27 22:39:45
515
原创 LIN - 基础
LIN主节点相当于网关,可以将LIN网中的报文与CAN网进行交互。LIN网络中有且只有一个主节点,其他都是从节点。LIN的主节点本身具有CAN的接口。基于UART数据格式、主从结构。
2023-09-20 22:34:33
2467
原创 CAN - 基础
数字信号 物理信号(CAN_H/CAN_L)两者之间的转换采用差分电平信号。解决:CAN总线规定信号的跳变沿时刻进行同步,将误差累积限制在两个跳变沿。为减少波特率的误差带来的通信错误。解决:使用位填充的方法进行同步。
2023-09-19 23:40:54
947
原创 Qt - 多线程补充2
https://blog.youkuaiyun.com/zhoukai216/article/details/130348303https://blog.youkuaiyun.com/MYTCHITOS/article/details/105892321
2023-08-21 16:43:22
166
原创 Qt - 模型视图
所有基于项的模型类都是继承自QAbstractItemModel类这个类定义了视图组件和代理存取数据的接口模型只是在内存中临时存储数据该抽象模型类不能直接用于创建实例对象,常用的模型类如下。
2023-07-05 20:34:30
923
原创 Qt -事件循环 补充
qt的事件循环,就是把不同平台的事件循环进行了封装,并提供统一的抽象接口QEventloop事件循环类EventLoop是事件循环类exec() 启动事件循环,调用exec后,调用exec的函数就会被阻塞,直到EventLoop里面的while循环结束exit()是退出实现循环,即将EventLoop中的退出标识设置为true,(应该是在派发事件后,某个事件处理的函数中,达到事件退出条件时,调用exit函数,将EventLoop中的退出标志设为true)
2023-07-03 23:12:48
727
原创 Qt - 项目构建进阶
https://www.bilibili.com/video/BV1d24y1L7uh/?spm_id_from=pageDriver&vd_source=7155082256127a432d5ed516a6423e20
2023-07-01 20:26:42
706
原创 Qt - 问题待解决
事件循环机制execspontaneous事件 postedEvent对象 sendEvent对象子线程定时器容器控件,QFrame场景与视图多线程,对象树
2023-05-28 13:51:16
126
原创 Qt - UI进阶
position()函数返回的是相对于图片的坐标,也就是说它返回的坐标相对于QLabel控件的坐标加上图片在QLabel控件中的位置偏移量;scenePos()函数返回的是相对于场景的坐标,但是QLabel并没有关联到场景中,所以它返回的坐标并没有实际意义;position()函数返回的是相对于当前控件的坐标,但是如果鼠标事件来自于一个子控件,那么它返回的坐标相对于子控件的坐标;globalPos()函数返回的是相对于屏幕的坐标,也就是说它返回的坐标是绝对坐标。pos()函数返回的是相对于当前控件的坐标;
2023-05-28 01:05:21
1333
原创 Qt - 进程/线程 补充进阶
QMutexLocker是一个简化了互斥锁处理的类,QMutexLocker的构造函数接受互斥量作为参数将其锁定,QMutexLocker的析构函数则将此互斥量解锁,所以在QMutexLocker实例变量的生存周期内代码片段会得到保护,自动进行互斥量的解锁加锁。QReadWriteLock以读或写锁定的同步方法允许以读或写的方式保护一段代码,可以允许多个线程以只读的方式同步访问资源,但是只要有一个线程在以写的方式访问资源,其他线程想要无论是写或读都必须等待,直到写操作完成。
2023-05-21 13:06:16
1246
c++ 指针 结构体 malloc segmentation fault报错,如何解决?
2022-12-21
消融实验需要冻结backbone吗
2022-09-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人