OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3647|回复: 2

stm32接电脑usb供电一切正常,接外部电源时串口接收数据就异常,但发送正常。

[复制链接]

0

主题

0

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2020-7-14
在线时间
0 小时
发表于 2016-11-4 21:05:51 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 迈克老牛 于 2016-11-4 21:26 编辑

stm32103fzet6 用usb接电脑由电脑usb供电可以正常收放数据,但改由冲电器供电,串口仍然接电脑时,发现能正常放送数据,但接收数据时,会把收到的数据马上发送回来。感觉就象串口模块的TX和RX直接短接一样。没能触发串口接收中断。其代码就是原子哥的代码。不知是不是关掉了半主机的原因,但是屏蔽掉下面一串代码后提示错误 
#if 1
#pragma import(__use_no_semihosting)            
////±ê×¼¿aDèòaμÄÖ§3Öoˉêy                 
struct __FILE
{
        int handle;
};

FILE __stdout;      
//¶¨òå_sys_exit()òÔ±üÃaê1óðëÖ÷»úģ꽠  
_sys_exit(int x)
{
        x = x;
}

//ÖØ¶¨òåfputcoˉêy
int fputc(int ch, FILE *f)
{      
        while((USART1->SR&0X40)==0);//Ñ-»··¢Ëí,Ö±μ½·¢Ëííê±Ï   
    USART1->DR = (u8) ch;      
        return ch;
}
#endif
错误如下
Library reports error: __use_no_semihosting was requested, but _sys_exit was referenced
Library reports error: __use_no_semihosting was requested, but _sys_open was referenced
L6915E: Library reports error: __use_no_semihosting was requested, but _ttywrch was referenced
如果只关掉  #pragma import(__use_no_semihosting)        编译可以通过,但发送数据连回送都没有,就象没进中断一样。请教这是什么原因。只是改变了电源,就接收不了,程序其他部分都正常运行,就串口接收一直调不好。后来我把所有有printf的地方关掉,再关掉#pragma import(__use_no_semihosting)  
只报 Library reports error: __use_no_semihosting was requested, but _sys_exit was referenced  这一个错误了,但还是有问题。





最佳答案

查看完整内容[请看2#楼]

已经解决,原来是usb转串口模块的地线要与板子地线相连,之前连电脑时因为板载有TTL转换模块,连接时地线同时也与电脑相连,而换到外部电源时地线相于没有电脑相连,而我的串口模块只是引出了TX和RX线,没有与板子的地线相连,所以只能发送不能接收。在这里顺便鄙视一下,那些发了问题自己解决后说一句已经解决,什么都不留下,好象自己多了不起的人。你们觉得自己付出了很多不想无偿提供答案可以明说,留下联系方式,想要多少费用 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

0

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2020-7-14
在线时间
0 小时
 楼主| 发表于 2016-11-4 21:05:52 | 显示全部楼层
已经解决,原来是usb转串口模块的地线要与板子地线相连,之前连电脑时因为板载有TTL转换模块,连接时地线同时也与电脑相连,而换到外部电源时地线相于没有电脑相连,而我的串口模块只是引出了TX和RX线,没有与板子的地线相连,所以只能发送不能接收。在这里顺便鄙视一下,那些发了问题自己解决后说一句已经解决,什么都不留下,好象自己多了不起的人。你们觉得自己付出了很多不想无偿提供答案可以明说,留下联系方式,想要多少费用可以说。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165558
金钱
165558
注册时间
2010-12-1
在线时间
2118 小时
发表于 2016-11-6 19:14:10 | 显示全部楼层
迈克老牛 发表于 2016-11-4 21:05
已经解决,原来是usb转串口模块的地线要与板子地线相连,之前连电脑时因为板载有TTL转换模块,连接时地线同 ...

谢谢分享
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-8-24 12:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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