当前位置: 首页 > news >正文

对于IAP项目中如何接收上位机分包

最近在做IAP项目,被他折磨的欲仙欲死,一开始也不知道如何将一个文件进行分包,然后让单片机进行接收分包,我现在是通过上位机的串口进行发送数据包,我这里是用自己规定的协议栈,包头2字节,命令2字节,2字节总长度,N字节数据区,4字节保留,2字节crc16校验,1字节包尾,下面是代码部分:

//串口接收数据
uint8_t ch;
//接收缓冲区
uint8_t data[256];
static uint16_t i = 0;
int n = 0;
//帧完成标志
uint8_t frame_ok = 0;
extern Protocol_t protocol;
void DEBUG_USART_Handler(void)
{
if (USART_GetITStatus(DEBUG_USART,USART_IT_RXNE)!=RESET)
{
ch = USART_ReceiveData(DEBUG_USART);

//防止溢出
if(i>=256) i = 0;

//存数据
data[i++] = ch;

//帧头校验
if(i>=2)
{
if(data[0]!=0xAB || data[1]!=0xCD)
{
i = 0;
return;
}

if(data[i - 1]==0xEF && i>=141)
{
// 一帧收完,开始解析
protocol.cmd = (data[2] << 8) | data[3];
protocol.total_len = (data[4] << 8) | data[5];

// 数据区 128字节
for(n=0; n<128; n++)
{
protocol.data[n] = data[6 + n];
}

// 保留区 4字节
protocol.reserve[0] = data[6+128+0];
protocol.reserve[1] = data[6+128+1];
protocol.reserve[2] = data[6+128+2];
protocol.reserve[3] = data[6+128+3];

// CRC
protocol.crc16 = (data[6+128+4] << 8) | data[6+128+5];

//写入APP区
SPI_FLASH_BufferWrite(data,APP_START_ADDR,128);

// 标记完成
frame_ok = 1;
i = 0;
}
}

}

}

这就是分包的代码

http://www.jsqmd.com/news/858124/

相关文章:

  • Sunshine游戏串流服务器架构深度解析:5个高级性能调优技巧与源码设计实战
  • 长期使用Taotoken聚合API在稳定性与账单透明度方面的体验
  • CANN-Ascend-C入门-昇腾NPU上写第一个自定义算子
  • Taotoken审计日志功能在满足企业合规与安全需求中的作用观察
  • 解锁真实质感:Midjourney V6纹理生成的7个精准提示词组合(含金属/织物/锈蚀实测数据)
  • OpenHuman 从零到上手(2026年5月最新版)
  • 时间人格测试平台测评|专业在线时间性格测试深度评测 - 资讯焦点
  • 如何彻底释放华硕笔记本性能:G-Helper轻量控制工具终极指南
  • 论文AI率超标不用愁:4种实用方法+3个提速技巧 - agihub
  • 让传统汽车获得L2级智能驾驶:openpilot开源系统的5大技术突破
  • OpenClawClaudeCodePython搭建股票期权自动交易系统实现低风险高收益-实战
  • 私有化部署即时通讯 vs 公有云即时通讯:完整对比与选型建议 - 小天互连即时通讯
  • 2026 平顶山专业防水公司TOP5推荐:卫生间、外墙、楼顶、地下室渗漏专业公司推荐(2026年5月平顶山最新深度调研方案) - 防水百科
  • 5步快速上手ComfyUI JoyCaption插件:AI图片字幕生成的终极指南
  • 携程任我行礼品卡回收哪里价格亲民,回收方法解答 - 猎卡回收公众号
  • 在Node.js服务中集成Taotoken实现统一的多模型调用网关
  • AutoCAD字体管理终极指南:FontCenter让您彻底告别字体缺失烦恼
  • C++的输入与输出和格式化输出
  • stm32的DMA学习笔记 串口空闲中断+dma
  • Bifrost:跨平台三星固件管理工具的3个技术突破
  • 携程任我行礼品卡回收变现技巧,解锁闲置卡券的价值 - 京顺回收
  • WechatBakTool:如何快速安全备份微信聊天记录的完整终极指南 [特殊字符]️
  • Cursor Pro破解工具终极指南:5分钟实现AI编程助手永久免费使用
  • 【紧急更新】Midjourney 6.2纹理引擎重大调整!3小时内必须掌握的4个参数避坑指南
  • 仓储物流管理系统推荐:2026 年十大 WMS 深度测评对比
  • 艺术设计论文降AI工具怎么选?创意设计类降AI实用方案 - 仙仙学姐测评
  • Multiverse 引擎3.0:大屏、移动、AR三端覆盖,AR交互功能详解
  • 从项目集成到团队协作:Poppins字体在现代开发中的全方位应用指南
  • 聚力数字基建迭代|2026全球优质建站机构盘点 筑牢品牌线上竞争力
  • ## 广州从化年营收千万级跨境自有品牌老板,跨境财税咨询找哪家专业?|品牌型跨境和铺货型跨境,财税问题完全不在同一个维度 - 欢欢在创业