野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2127|回复: 6

火哥视频DMA数据传输

[复制链接]
发表于 2024-8-15 22:18:56 | 显示全部楼层 |阅读模式

求大佬解决!!!
问题:两个代码所要实现的是一样的,为什么我写的程序烧进去后,板子上的灯亮红色;
正常现象:返回1,亮绿灯;返回0,亮红灯;

//自己写的
uint8_t Buffer_Cmp(const uint32_t* buffer1, uint32_t* buffer2){
        while(buffer1 != NULL && buffer2 != NULL){
                if(*buffer1 == *buffer2){
                        buffer1++;
                        buffer2++;
                }
                else
                        return 0;
        }
        return 1;
}

//火哥写的
uint8_t Buffercmp(const uint32_t* pBuffer,
                  uint32_t* pBuffer1, uint16_t BufferLength)
{
  /* 数据长度递减 */
  while(BufferLength--)
  {
    /* 判断两个数据源是否对应相等 */
    if(*pBuffer != *pBuffer1)
    {
      /* 对应数据源不相等马上退出函数,并返回0 */
      return 0;
    }
    /* 递增两个数据源的地址指针 */
    pBuffer++;
    pBuffer1++;
  }
  /* 完成判断并且对应数据相对 */
  return 1;  
}


回复

使用道具 举报

发表于 2024-8-19 09:02:18 | 显示全部楼层
自己写的直接替换了火哥写的可以正常?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-8-22 11:47:49 | 显示全部楼层
菠萝片 发表于 2024-8-19 09:02
自己写的直接替换了火哥写的可以正常?

现象不正常,不知道哪里的原因
回复 支持 反对

使用道具 举报

发表于 2024-8-23 16:59:56 | 显示全部楼层
你要是直接把火哥写的比较这段替换到你自己写的工程里面依旧是不正常,那就不是你截图比较这里的问题了,需要检查其他的配置,实际的把写入的东西打印出来看看
回复 支持 反对

使用道具 举报

发表于 2024-8-23 19:42:26 | 显示全部楼层
应该可以吧
回复 支持 反对

使用道具 举报

发表于 2024-8-26 10:18:40 | 显示全部楼层
NULL是0,你传进去的指针只要不是0,就会一直++,最终跑飞,程序判断要有结束符的,长度或者/0
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-7 16:27:03 | 显示全部楼层
a5820736 发表于 2024-8-26 10:18
NULL是0,你传进去的指针只要不是0,就会一直++,最终跑飞,程序判断要有结束符的,长度或者/0 ...

哦哦,这么看确实写的有问题,感谢大佬
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 17:35 , Processed in 0.120074 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表