- 博客(8)
- 收藏
- 关注
原创 stm32 lin主机收发程序
使用STM32 HAL库实现LIN(Local Interconnect Network)主机收发程序,需要依赖STM32的UART外设,因为LIN协议是基于UART的。LIN协议通常使用UART的break信号来标识帧的开始。
2024-05-31 22:15:24 546 1
原创 USB学习笔记1 基础知识
USB(Universal Serial Bus)是一种通用的串行总线标准,用于在计算机系统、外部设备和其他数字设备之间传输数据。USB接口为设备提供了供电、数据传输和连接性,成为连接各种外围设备的主流标准。
2024-03-06 14:26:35 1059 1
原创 使用stc32解析OBD数据
解析了新桑塔纳,解析到了方向盘角度,油门踏板深度,4门状态,左右转向灯、倒车灯,远近光等等。3、把接收到的can数据从串口输出,方便在电脑上分析。5、在上位机软件或单片机上过滤,每个筛选出来找信号。2、然后初始化串口1,用来输出接收到的obd数据。4、保存一段收到的报文数据,把pid去重。6、这是我找到的部分信号。
2023-12-25 08:12:18 552
原创 STC8H库函数使用(2)——任务调度主循环
i++)循环每个任务结构体,如果这个任务的定时计数器不是0,定时计数器减1,如果定时计数器为0了,那就把重载计数器的值赋给定时计数器,然后把任务状态置1,表示这个任务需要运行一下了。任务处理函数很好理解,每个人任务循环一边,只要任务状态 Task_Comps[i].Run为1,清零状态位Task_Comps[i].Run = 0,然后运行任务Task_Comps[i].TaskHook()。我们看一下是怎么实现的,首先计数器每ms减1上面说了是通过定时器0中断实现的,我们看一下定时器0的中断函数。
2023-06-20 16:01:00 2201 3
原创 用STC8H单片机外部中断实现增量式编码器完整计数
这是优化后的,通过将编码器状态和计数器封装到结构体中,我们可以更加便捷地管理编码器状态,并且在中断服务程序中也更容易理解代码的逻辑。功能是利用单片机外部中断判断编码器A相上升沿、下降沿时B相状态,避免编码器方向转换时少计数。
2023-06-14 13:15:36 864 1
原创 STC8H库函数使用笔记
如上图,从入口main函数进去后,先调用system_init函数,把需要用到的硬件初始化后,在while循环运行任务调度函数Task_Pro_handler_Callback();GPIO初始化,IO口有四种模式:准双向口(弱上拉),高阻输入,漏极开路,推挽输出。用来初始化定时器,共有5个定时器,这里初始化定时器0,产生1ms的中断,作为任务调度的基准时钟。打开官方的库函数综合例程,里面有4个文件夹,分别是User,APP,Driver,ISR。在这里除了配置输入输出模式外,还可以配置内部上拉电阻,
2022-11-25 20:50:43 2867
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人