[PIC®/AVR®/dsPIC®产品] DSPIC33EP无法发送字符串

[复制链接]
695|15
 楼主| yszong 发表于 2022-12-10 14:50 | 显示全部楼层 |阅读模式
DSPIC33EP无法发送字符串
 楼主| yszong 发表于 2022-12-10 14:54 | 显示全部楼层
使用DSPIC33EP128mc506,串口2,可以一个字符一个字符发送,但是却无法发送字符串,用MPLAB发现 str 永远指向一个地址,名称str    类型char*  ( PSV ? )    地址0x1058  ,但是str的值会增加,然后*str的值一直为为'ÿ'; 0xff
juventus9554 发表于 2022-12-10 14:58 | 显示全部楼层

void bsp_uart2_SendByte(uint8_t ch)
{
  if(!U2STAbits.UTXBF)
  {
    U2TXREG = ch;
  }
}

void bsp_uart2_SendString(char * str)
{
  while(* str != '\0')
  {
    bsp_uart2_SendByte( * str ++);
  }
  while(U2STAbits.TRMT == 0);
}
dengdc 发表于 2022-12-10 15:16 | 显示全部楼层
直接指向的地址位置?
wyjie 发表于 2022-12-10 15:18 | 显示全部楼层
操作符优先级搞错了吧
vivilyly 发表于 2022-12-22 19:47 | 显示全部楼层
无法发送字符是什么意思?              
zerorobert 发表于 2022-12-22 19:55 | 显示全部楼层
这个仿真的时候,确实不能连续发送字符串的。
LOVEEVER 发表于 2022-12-24 15:17 | 显示全部楼层
程序本身应该就不可以连发吧
gygp 发表于 2022-12-24 20:00 | 显示全部楼层
你使用数组定义字符串呢?              
1988020566 发表于 2022-12-24 20:59 | 显示全部楼层
使用printf实现吧。              
小夏天的大西瓜 发表于 2022-12-25 10:08 | 显示全部楼层
楼主,应该是程序问题,连发是在单发的基础上进行的设置程序优化,既然单发没问题,那连发应该也会成功的,楼主再参考一下其他串口连发例程确认一下
elsaflower 发表于 2023-1-9 11:29 | 显示全部楼层
说明的你的字符串赋值不正确。              
olivem55arlowe 发表于 2023-1-12 20:44 | 显示全部楼层
这个字符串的地址自加了吗?              
您需要登录后才可以回帖 登录 | 注册

本版积分规则

830

主题

11379

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部