打印
[STM8]

memcpy函数问题

[复制链接]
1171|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zwll|  楼主 | 2021-8-6 21:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
stm8接收串口数据后显示到lcd1602上,串口数据格式是1+16位数据+16位数据,例如接收到的数据是"1    16:07:21     2019-08-22 Thu ",
我是用memcpy函数把接收到的数据拷贝到2个数据里面

使用特权

评论回复
沙发
dengdc| | 2021-8-6 21:34 | 只看该作者

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
板凳
zwll|  楼主 | 2021-8-6 21:38 | 只看该作者
u8 bluetooth_date;
u8 bluetooth_date_str0[17],bluetooth_date_str1[17];
int main(void)
{
  
  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
  USART_Configuration();//串口初始化
  GPIO_Configuration();
  LCD1602_Init();
  LCD1602_ClearScreen();
  

  while(1)
  {
   
    if (bluetooth_date[0]=='1')
    {
      
      memcpy(bluetooth_date_str0, bluetooth_date + 1, 16);
      memcpy(bluetooth_date_str1, bluetooth_date + 17, 32);
      bluetooth_date_str0[16]='\0';
      bluetooth_date_str1[16]='\0';
      
    }
   
    LCD1602_Show_Str(0, 0, bluetooth_date_str0);
    LCD1602_Show_Str(0, 1, bluetooth_date_str1);
   
  }
然后发现有一个问题,如果只写memcpy(bluetooth_date_str0, bluetooth_date + 1, 16);程序能正常接收到数据并显示出来,但如果加上 memcpy(bluetooth_date_str1, bluetooth_date + 17, 32);程序就没办法接收到串口数据。
这个到底是哪里的问题。

使用特权

评论回复
地板
wuhany| | 2021-8-6 21:40 | 只看该作者
bluetooth_date_str1[17];

memcpy(bluetooth_date_str1, bluetooth_date + 17, 32);

越界了

使用特权

评论回复
5
zwll|  楼主 | 2021-8-6 21:43 | 只看该作者
恩,看到了。没仔细看函数说明犯了低级错误。

使用特权

评论回复
6
zwll|  楼主 | 2021-8-6 21:45 | 只看该作者
再想请教一下,memcry的用法,memcry只能复制静态数组里面的内容吗?
bluetooth_date是uart1接收到的内容,调试的时候没发现有问题,但是
memcpy(bluetooth_date_str0, bluetooth_date + 1, 16);
memcpy(bluetooth_date_str1, bluetooth_date + 17, 32);
之后,bluetooth_date_str0和bluetooth_date_str1的内容就对不上了

使用特权

评论回复
7
zwll|  楼主 | 2021-8-6 21:47 | 只看该作者
要保证更新之后 及时copy!

使用特权

评论回复
8
zwll|  楼主 | 2021-8-6 21:50 | 只看该作者
说出来你可能不信,这个问题折腾我好几天了,在改了无数次之后,昨天某次剪切粘贴最早的代码后就没问题了。。。。

使用特权

评论回复
9
chuxh| | 2021-8-6 21:57 | 只看该作者
具体的这个问题,分析不处理。可能是哪里有一个小bug.调试程序的时候,往往会出现这种问题。但是往往最后都不了了之了。。。

使用特权

评论回复
10
zwll|  楼主 | 2021-8-6 22:08 | 只看该作者

哦,那我就知道怎么回事了,多谢大家

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

885

主题

11314

帖子

5

粉丝