
TI
雾削木
分享个人学习资料,仅供学习参考使用,如有侵权请联系删除。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Open MV视觉代码
这篇代码实现了一个基于OpenMV的视觉追踪系统,通过摄像头识别特定黑白目标并计算偏移量。系统初始化摄像头参数,设置颜色阈值来识别黑色区域中的白色标记。主循环中检测目标位置,计算视野补偿并限制范围,最终将X/Y轴偏移量通过UART以二进制格式发送。当目标丢失时会发送特殊标志。代码包含调试信息输出和帧率监控,通过动态调整视野窗口增强追踪稳定性。关键点包括颜色阈值处理、图像识别算法、数据打包发送和异常处理机制。原创 2025-07-31 08:54:10 · 68 阅读 · 0 评论 -
Ti MSPM0 openMV视觉代码
摘要:这段代码实现了基于OpenMV摄像头的目标识别与云台控制系统。通过初始化摄像头参数(固定曝光、白平衡)并设置黑色边框识别阈值,系统使用find_rects()方法检测矩形目标,通过计算目标中心与图像中心的偏差(经低通滤波处理),通过UART将偏差数据发送给MSPM0控制器来驱动云台跟踪目标。当目标丢失时,系统会保持最后位置或缓慢归中。程序包含目标标记、中心参考线绘制及调试信息输出功能,适用于需要视觉跟踪的场景。原创 2025-07-31 08:51:47 · 507 阅读 · 0 评论 -
TI MSPM0 MPU6050代码
摘要: 该代码实现了一个基于MSP430微控制器的智能小车控制系统,主要功能包括: 通过MPU6050获取姿态数据(pitch/roll/yaw)并进行偏移校准 使用PID算法实现角度控制和循迹功能 包含编码器计数、电机控制和状态切换逻辑 通过UART实现数据包通信(包含帧头、数据、校验和帧尾) OLED显示系统状态(标志位、编码器计数、角度等) 按键中断切换工作模式(循迹/角度控制) 系统采用模块化设计,包含MPU6050数据处理、电机驱动、PID控制、循迹检测等功能模块,通过定时中断实现周期性数据采集和原创 2025-07-30 11:02:55 · 113 阅读 · 0 评论 -
TI MSPM0软件I2C时序优化OLED
本文介绍了OLED显示屏的软件I2C驱动实现,主要包含以下内容:1) GPIO配置步骤,定义SCL和SDA引脚;2) 通过宏定义实现I2C通信的基本操作(起始/停止信号、数据读写);3) 提供OLED控制函数,包括初始化、清屏、显示字符/数字/字符串和图片等功能;4) 优化了数据传输方式,支持连续命令/数据发送。该驱动支持多种字体大小,实现了对SSD1306 OLED屏幕的完整控制功能。原创 2025-07-29 12:07:40 · 130 阅读 · 0 评论 -
TI MSPM0 long long转型无法烧录
摘要:在使用TIMSPM0G3507驱动OLED显示小车编码器数据时,遇到浮点数转换问题。通过强制转换为long long类型显示整数部分,采用0.02608f转换因子将计数转为厘米。提供了两种显示小数的解决方案:1)手动拆分整数和小数部分;2)使用整数运算放大100倍后分别显示整数和小数位。这两种方法有效解决了浮点格式化字符串无法烧录的问题,实现了编码器数据的稳定显示。原创 2025-07-29 09:39:09 · 165 阅读 · 0 评论 -
TI 2025全国电赛猜题
摘要:全国大学生电子设计竞赛本科组题目侧重高频信号处理、精密控制系统及多设备协同,典型题目包括四旋翼UV光控导航、射频频谱监测、电能质量分析等,需使用FPGA、频谱仪等专业设备。高职高专组题目难度较低,侧重基础控制应用,如超声波避障小车、环境参数测量、摄像头目标跟踪等,主要采用单片机、传感器等基础器材。两组题目均注重实际工程能力培养,本科组更强调系统复杂度和精度要求。(149字)原创 2025-07-28 16:01:39 · 2096 阅读 · 0 评论 -
全国电赛 2023运动目标控制与自动追踪系统(E题)Python K230代码
该代码实现了一个基于视觉检测的双模式系统,能够通过摄像头实时检测矩形角点或激光点位置。系统提供两种工作模式:模式0用于矩形检测,可识别最大矩形并标记4个角点;模式1用于激光点追踪,基于颜色阈值识别激光位置。检测结果通过UART串口发送,数据包包含帧头、坐标信息(16位高低字节)和帧尾。系统支持LCD、HDMI和虚拟显示,并可通过串口指令切换工作模式。代码结构完整,包含异常处理和资源释放,适用于嵌入式视觉应用场景。原创 2025-07-27 20:48:02 · 111 阅读 · 0 评论 -
TI MSPM0蓝牙串口通信数据包制作
本文介绍了三种串口数据通信的实现方法:1)使用snprintf格式化Yaw角度数据,并添加错误处理机制;2)通过自定义数据包协议(包含帧头、数据、校验和、帧尾)发送浮点数;3)蓝牙单字节遥控指令处理,包括电机控制指令和蜂鸣器触发。每种方法都包含详细的校验机制和错误处理,确保数据传输的可靠性。原创 2025-07-26 16:10:58 · 160 阅读 · 0 评论 -
TI MSPM0栈空间太小导致snprintf卡飞程序
在使用snprintf格式化MPU6050数据时遇到程序卡死问题,原因是栈空间不足。将Stack_Size从256字节(0x100)增加到2048字节(0x800)后问题解决。分析表明:1) C函数调用会消耗栈空间保存返回地址、参数和局部变量;2) 即使简单函数如snprintf也可能需要几十到上百字节;3) 嵌套调用和中断服务会累积栈消耗。原256字节栈空间易被耗尽,导致栈溢出引发程序异常或变量值被篡改。修改后的启动文件将栈空间扩展至2KB,解决了该问题。原创 2025-07-26 11:05:36 · 185 阅读 · 0 评论 -
TI MSPM0 VL53L0X激光测距软件I2C方案
本文展示了一个基于MSP微控制器的激光追踪系统代码,包含PWM舵机控制、VL53L0X激光测距模块、串口通信和ADC采集功能。主要实现了:1) 通过PWM信号控制两个舵机角度;2) 使用VL53L0X进行距离测量;3) 串口解析激光坐标数据;4) 按键中断切换目标点。系统可平滑移动舵机追踪激光点坐标,并能通过ADC反馈调整舵机位置。代码包含德州仪器的标准版权声明,采用BSD开源协议。原创 2025-07-23 13:11:33 · 155 阅读 · 0 评论 -
TI MSPM0 PWM控制舵机双通道ADC读取
该代码实现了一个基于MSP微控制器的双舵机控制系统,主要包括以下功能: 通过PWM信号控制两个舵机角度(X轴0-270度,Y轴0-180度),支持平滑移动功能 通过UART接收并解析"X=xx,Y=yy"格式的串口指令控制舵机位置 使用ADC采集电位器信号实现闭环控制 包含LED指示灯和按键中断功能 采用PWM脉宽调制(500-2500μs范围)精确控制舵机角度 系统实现了串口指令控制与ADC反馈相结合的混合控制方式,支持舵机角度限位保护,具有中断处理、延时控制等基本功能模块。原创 2025-07-16 12:47:01 · 114 阅读 · 0 评论 -
MPU6050 和串口中断等一起使用,防止中断打扰时序问题
摘要:文章探讨了MPU6050传感器在使用软件I2C时遇到的问题,特别是中断干扰导致数据读取失败的情况。作者测试了两种解决方案:重新初始化并重置FIFO寄存器,以及修改IIC时序并添加总线等待,但均无法完全避免高频串口中断干扰。文中提供了详细的I2C驱动代码实现,包括起始/停止时序、数据读写等函数。最后提出改进方案:取消MPU6050初始化,添加0x70器件地址支持,并在读取前禁用中断以保证时序稳定性。这些修改使MPU6050能稳定工作,同时不影响中断使用。原创 2025-07-15 19:38:03 · 303 阅读 · 0 评论 -
TI MSPM0 串口接收控制舵机云台
该代码实现了一个基于MSP430的舵机控制系统,主要功能包括:1. 通过PWM信号精确控制两个舵机角度(setAngle和setAngle1函数);2. 使用串口通信接收X/Y轴控制指令;3. 实现平滑移动算法(smoothMove),使舵机运动更平缓;4. 主循环根据串口接收的偏移量实时调整舵机角度。系统还包含LED指示灯和按键中断处理功能,适用于需要精确控制舵机运动的嵌入式应用场景。原创 2025-07-13 15:05:08 · 322 阅读 · 0 评论 -
TI MSPM0 控制舵机 PWM
摘要:配置PWM时需将计数模式改为向上计数,由于TIMG时钟不可分频,需改用高级计时器TIMA。开发环境为Keil。针对不同舵机(180°/270°/360°),需调整PWM参数:50Hz频率下,占空比对应不同角度(如2.5ms脉冲对应180°舵机270°),且转速随方向变化,向下逆转加速,向上顺转加速。参数修改时注意区分舵机类型。原创 2025-07-10 10:29:23 · 332 阅读 · 0 评论 -
TI DRV8833 驱动代码
DRV8833可以替代TB6612驱动模块使用,但需注意其不具备双PWM控制功能。使用时需要手动调整接线方式,将PWM信号改为IN1/IN2的PWM配置模式。这种替换需要特别注意信号接口的重新配置,虽然功能相似,但在控制方式上存在差异。原创 2025-07-07 17:03:59 · 179 阅读 · 0 评论 -
TI DRV8833 平替 TB6612 驱动
该代码实现了基于DRV8833电机驱动芯片的电机控制功能。通过宏定义AIN2_OUT和BIN2_OUT来设置电机方向控制引脚,motor函数根据输入的正负速度值控制左右电机的方向和PWM占空比。当速度为正时设置对应方向引脚为高电平,为负时则设为低电平并取绝对值作为PWM值。该实现适用于两路电机控制,可独立设置每个电机的转速和转向。原创 2025-07-03 11:36:06 · 167 阅读 · 0 评论 -
TI MSPM0 PID控制角度旋转 走8字
这段代码实现了一个基于PID控制算法的电机控制系统。系统通过传感器检测位置偏差,使用PID算法计算电机转速,实现精确控制。主要功能包括:1)根据flag值切换不同控制模式;2)在模式1中实现角度跟踪和循迹功能;3)在模式2中实现基于位置偏差的循迹控制;4)包含两个PID控制器实现函数,分别用于不同参数需求。系统还包含蜂鸣器提示功能和状态切换逻辑,能够根据传感器反馈自动调整电机转速和方向。原创 2025-07-03 09:41:04 · 133 阅读 · 0 评论 -
TI MSPM0 轮询MPU6050角度转向八字
该代码实现了一个基于PID控制的智能小车自动循迹系统。系统使用循迹传感器获取位置偏差,通过PID算法计算电机转速调整值(speedA=250+PID_data,speedB=250-PID_data),实现轨迹跟踪。当检测到偏离轨迹时,系统会根据预设目标角度(-35°或-145°)进行转向调整,并通过蜂鸣器提供操作反馈。代码包含两种运行模式(flag=1/2),分别处理直线循迹和角度转向任务,通过状态机(tag变量)管理不同阶段的操作流程,包括传感器检测、电机控制、超时处理等功能模块。原创 2025-07-03 07:53:24 · 148 阅读 · 0 评论 -
TI MSPM0 循迹示例1
代码片段实现了一个基于PID算法的循迹控制功能。当flag为1时,通过xunji()获取传感器位置偏差,并使用vertical_PID_Turn()计算PID值。根据PID计算结果调整左右电机PWM值(speedA和speedB),其中基准速度为250,通过加减PID_data实现差速控制。最终调用motor_set()执行电机驱动。代码展示了典型的PID控制在轮式机器人循迹中的应用。原创 2025-07-02 10:27:52 · 191 阅读 · 0 评论 -
MPU6050 模块使用和错误记录
本文介绍了MPU6050传感器使用中的常见问题及解决方法。主要内容包括:1)DMP库下载地址和版本选择(eMD6.12和5.1.3);2)新版模块可能无需初始化,但会出现"Unsupported software product rev"错误,需添加版本7支持;3)I2C通信问题,包括地址应为0x70(新版)或0xD0,以及IIC_Send_Ack函数修改建议;4)调试发现关闭I2C主机模式会导致数据读取失败。文中还提供了相关代码片段和问题参考链接。原创 2025-07-01 13:44:39 · 278 阅读 · 0 评论 -
TI MSPM0G3507 循迹小车强制寻黑线代码一
一个基于MSPM0微控制器的循迹小车控制系统。系统通过8路循迹传感器检测黑线位置偏差,使用PID算法计算电机控制量。主程序初始化中断、PWM等外设,在按键触发后进入循迹模式。传感器数据处理函数根据检测到的黑线位置返回偏差值(-7到7),PID控制器根据偏差调整左右电机速度。系统还包含限幅处理、中断服务等模块,实现稳定的自动循迹功能。代码结构清晰,展示了嵌入式系统中传感器数据处理、电机控制和PID算法的典型实现方式。原创 2025-06-28 18:18:25 · 1207 阅读 · 0 评论 -
TI 巡线小车脱线自动回归
摘要:本文介绍了一个基于MSP430微控制器的智能小车循迹控制系统。系统采用8路红外传感器检测轨迹,通过PID算法实现偏差控制。当检测到偏离轨迹时,程序根据传感器反馈计算位置偏差,并生成相应PWM信号驱动电机进行转向修正。系统还实现了中断处理、电机驱动等功能,通过参数调节可优化循迹性能。代码展示了传感器数据处理、PID控制实现以及电机调速等关键功能模块。 (148字)原创 2025-06-19 17:21:38 · 137 阅读 · 0 评论 -
TI MSPM0G3507 简易PID项目显示和按键控制
摘要:该代码实现了一个基于TI MSP微控制器的嵌入式系统,主要功能包括:1) 初始化系统外设(串口、定时器、编码器、按键等); 2) 实现LED呼吸灯、串口通信、PWM电机控制功能; 3) 包含UI界面显示和编码器数据处理; 4) 使用定时器中断实现精确延时; 5) 通过状态机管理系统运行模式。代码采用模块化设计,包含硬件驱动层和任务应用层,实现了基础外设控制和简单人机交互功能。原创 2025-05-31 23:26:08 · 819 阅读 · 0 评论 -
【TI MSPM0G3507】 定时器 串口 中断 PWM示例
该代码是德州仪器(TI) MSP微控制器的嵌入式程序,主要功能包括LED呼吸灯控制、串口通信和定时中断处理。程序采用TI提供的底层驱动库(DL)实现硬件操作,包含精确延时、PWM调光、串口收发和中断服务等模块。呼吸灯效果通过调整PWM占空比实现渐变效果,同时支持按键中断和串口中断处理。代码遵循TI软件许可协议,保留所有版权声明和免责条款。程序结构清晰,包含初始化配置、主循环和多个中断服务例程,展示了典型的嵌入式系统开发模式。原创 2025-05-30 21:35:47 · 402 阅读 · 0 评论 -
keil uniFlash烧录出现八字节对齐错误
在2025年5月15日,CORTEX_M0P系统在尝试进行闪存编程时遇到了错误,原因是起始地址或数据长度未按8字节对齐。这一问题在Delay_ms函数中尤为明显,由于前后两次延迟时间不一致,导致了烧录失败。针对此问题,提出了两种解决方案:一是参考TI板keil5编译MSPM0无法下载的解决方法,二是调整程序,将Delay_ms和滴答定时器的延迟整合,直至能够成功烧录。此外,还提到了串口下载报错的解决方法,建议参考立创开发板技术文档中心的相关内容。原创 2025-05-15 21:22:56 · 518 阅读 · 0 评论