请教原子哥,关于串口以太网转串口服务器

查看: 999|回复: 7
串口问题求助高手,还有原子哥!!
主题帖子精华
初级会员, 积分 76, 距离下一级还需 124 积分
在线时间0 小时
#include "stm32f10x.h"
void USART_INIT()
GPIO_InitTypeDef &GPIO_INSTRUCT;
USART_InitTypeDef & USART_INSTRUCT;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE);//串口和PA9,PA10时钟使能
USART_DeInit(USART1);//串口复位
USART_INSTRUCT.USART_BaudRate=9600;//设置波特率
USART_INSTRUCT.USART_WordLength=USART_WordLength_8b;//8位数据位
USART_INSTRUCT.USART_Parity=USART_Parity_No;//无奇偶校验位
USART_INSTRUCT.USART_StopBits=USART_StopBits_1;//1位停止位
USART_INSTRUCT.USART_HardwareFlowControl = USART_HardwareFlowControl_N//无硬件流
USART_INSTRUCT.USART_Mode=USART_Mode_Rx | USART_Mode_Tx;//收发使能
USART_Init(USART1,&USART_INSTRUCT);//串口初始化
USART_Cmd(USART1,ENABLE);//打开串口
GPIO_INSTRUCT.GPIO_Pin=GPIO_Pin_9;
GPIO_INSTRUCT.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_INSTRUCT.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init(GPIOA,&GPIO_INSTRUCT);
//设置PA10
GPIO_INSTRUCT.GPIO_Pin=GPIO_Pin_10;
GPIO_INSTRUCT.GPIO_Mode=GPIO_Mode_IPD;
//IO初始化
GPIO_Init(GPIOA,&GPIO_INSTRUCT);
int &main()
USART_INIT();
USART_SendData(USART1,'A');//发送一节数据
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);//等待
USART_ReceiveData(USART1);
while(USART_GetFlagStatus(USART1,USART_FLAG_RXNE)==RESET);
打开串口助手,能发送数据,但接受不了数据,还有一个问题,就是什么情况下使用TC和TXE &??
主题帖子精华
金钱115564
在线时间871 小时
参考下我们的例程.用的中断接收.
TC和TXE的使用情况,你可以看看&stm32参考手册&对这两个位的描述,然后根据你的实际情况来决定是否用到.
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
初级会员, 积分 76, 距离下一级还需 124 积分
在线时间0 小时
回复【2楼】正点原子:
---------------------------------
我是想先用查询法发送数据,再用中断法。还有原子哥,我给你发消息了,记得去看下!!
主题帖子精华
金钱115564
在线时间871 小时
回复【3楼】luxiaojian:
---------------------------------
不要发站内信,技术问题论坛讨论,站内信一律不回.
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
初级会员, 积分 76, 距离下一级还需 124 积分
在线时间0 小时
回复【4楼】正点原子:
---------------------------------
不好意思,我刚加这个论坛,不懂这边的规矩,其实我就是想问下&&&
我现在在学STM32,最终目的是学习ARM9+LINUX,请问STM32要学到什么程度才入手ARM9??
主题帖子精华
金钱115564
在线时间871 小时
回复【5楼】luxiaojian:
---------------------------------
其实你可以直接选ARM9...
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
初级会员, 积分 76, 距离下一级还需 124 积分
在线时间0 小时
回复【6楼】正点原子:
---------------------------------
原子哥,今天看了窗口看门狗,有点疑惑,
窗口的上限是我们自己设置的,那下限是固定的,是0x40吗??(网上看别人的)
那0X3F又是怎么回事???不是低于0x3f,看门狗也会复位吗???这不也相当于下限吗??
主题帖子精华
金钱115564
在线时间871 小时
是固定的,低于肯定已经复位了.
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
Powered by查看: 1732|回复: 6
请教原子哥!关于串口以太网服务器
主题帖子精华
新手上路, 积分 40, 距离下一级还需 10 积分
在线时间0 小时
要做个毕设--基于stm32的串口服务器,想要实现把串口设备连入互联网,能够通过上位机配置服务器的IP等网络参数。查了一些资料,一般都是用的STM32F107做的,因为其片内有1个10/ 100M以太网MAC控制器,好像容易实现些。我想问的是用手头上有的战舰板(STM32F103,内部没有所谓的以太网控制器)外加战舰板配套的ENC28J60模块,能够实现串口服务器的功能吗?对网络这块了解很少,求指点!谢谢。。。
主题帖子精华
新手上路, 积分 40, 距离下一级还需 10 积分
在线时间0 小时
我是新手,不知这个题目难度几何啊?
主题帖子精华
高级会员, 积分 571, 距离下一级还需 429 积分
在线时间27 小时
回复【2楼】向前走:
---------------------------------
107有带以太网?
还真没了解过
103+enc28j60可以做
如果只是单纯的数据转发
一片52+enc28j60都可以
用52主要是uip的容量需求大点
主题帖子精华
金钱115564
在线时间871 小时
可以做的。
主题帖子精华
新手上路, 积分 40, 距离下一级还需 10 积分
在线时间0 小时
回复【3楼】nonplus:
---------------------------------
谢谢
主题帖子精华
新手上路, 积分 40, 距离下一级还需 10 积分
在线时间0 小时
回复【4楼】正点原子:
---------------------------------
3Q
主题帖子精华
新手上路, 积分 21, 距离下一级还需 29 积分
在线时间0 小时
回复【楼主位】向前走:
---------------------------------
卤煮做出来了么,如果做出来了,可以联系我么,有点问题想请教。
Powered by查看: 530|回复: 7
修改的原子哥的串口一的程序
为何在串口调试助手上没效果
主题帖子精华
新手上路, 积分 35, 距离下一级还需 15 积分
在线时间0 小时
USART串口 &新手 &修改的原子哥的串口一的程序 & &为何在串口调试助手上没效果 & 求助
10:19 上传
点击文件名下载附件
841.91 KB, 下载次数: 17
主题帖子精华
在线时间804 小时
不说具体问题,直接上一个压缩包,你想干什么?
道不同,不相与为谋
主题帖子精华
在线时间282 小时
你将原子哥的串口1修改成什么了???是开发板的例程修改的么?
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
主题帖子精华
新手上路, 积分 35, 距离下一级还需 15 积分
在线时间0 小时
回复【3楼】八度空间:
---------------------------------
我修改原子哥mini&开发板的串口一的例程&&&我想改成串口二&&&led会闪&&&但串口调试没有用&&&不知为何
主题帖子精华
新手上路, 积分 35, 距离下一级还需 15 积分
在线时间0 小时
回复【2楼】jermy_z:
---------------------------------
不好意思&&&我是新手&&&&我修改原子哥mini&开发板的串口一的例程&&&我想改成串口二&&&led会闪&&&但串口调试没有用&&&&&不能发送数据
主题帖子精华
新手上路, 积分 35, 距离下一级还需 15 积分
在线时间0 小时
回复【3楼】八度空间:
---------------------------------
注释&&我没修改&&就改动了&&时钟和串口
主题帖子精华
在线时间804 小时
回复【6楼】ljqlz:
---------------------------------
引脚改了?&&发送函数改了?&串口中断改了?
道不同,不相与为谋
主题帖子精华
新手上路, 积分 27, 距离下一级还需 23 积分
在线时间0 小时
我跟原子哥是一样额程序&只是开发板不一样&&&我也是不能实现功能&&&出现了问题焦急。。。。
Powered by查看: 862|回复: 5
请教原子哥关于串口的问题
主题帖子精华
高级会员, 积分 987, 距离下一级还需 13 积分
在线时间26 小时
原子哥 &请教你关于串口的两个问题:第一个问题:在串口中有如下一段程序:
if(USART1-&SR&(1&&5))//接收到数据
res=USART1-&DR;&
if((USART_RX_STA&0x8000)==0)//接收未完成
if(USART_RX_STA&0x4000)//接收到了0x0d
if(res!=0x0a)USART_RX_STA=0;//接收错误,重新开始
else USART_RX_STA|=0x8000; //接收完成了&
}else //还没收到0X0D
if(res==0x0d)USART_RX_STA|=0x4000;
USART_RX_BUF[USART_RX_STA&0X3FFF]=
USART_RX_STA++;
if(USART_RX_STA&(USART_REC_LEN-1))USART_RX_STA=0;//接收数据错误,重新开始接收
我想问一下这里面的0x0D和0x0a个是什么意思? 为什么要这么做,
第二个问题:我发现了这个程序的BUG: 假如说USART_RX_STA不清零的话,数据会一直往后存储,一直到这个数组存储满为止,假如清零的话,就会出现这样的问题:第一次收到10个字节的数据,都存进了这个数组,没有问题。但是第二次收到5个字节的时候,只是会将后面收到的5个字节覆盖掉第一次收到的前5个字节,而第6到第10这5个字节无法覆盖,这样的话,当程序中有判断语句的时候可能会出现误判。不知道我说的对不对! 望原子哥批评指证。
1,就是回车换行.方便判断数据结束.
2,清零是在main函数进行的,请看例程.
主题帖子精华
金钱115564
在线时间871 小时
1,就是回车换行.方便判断数据结束.
2,清零是在main函数进行的,请看例程.
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
高级会员, 积分 987, 距离下一级还需 13 积分
在线时间26 小时
回复【2楼】正点原子:
---------------------------------
USART_RX_STA清零了,可是数组本身没有清零哦!&&&请看我的第二个问题!
主题帖子精华
金钱115564
在线时间871 小时
回复【3楼】一个好人:
---------------------------------
数组不需要清
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
金钱115564
在线时间871 小时
多动动脑想想为什么.
实在想不明白就测试下.
测试了还不明白,就一步步跟踪.看代码.
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
金牌会员, 积分 1140, 距离下一级还需 1860 积分
在线时间470 小时
清不清零都没关系,老数据被新数据覆盖了,传入多少数据就打印多少数据。
Powered by

我要回帖

更多关于 虚拟串口转以太网软件 的文章

 

随机推荐