我个人觉得学习力,就是学习某种知识的能力,我们学习的时间越短,效率就越高,能力就越强。不过学习力也是需要培养的,方法和经验也需要积累的。高手也是从菜鸟开始的,以下是我做上位机的一些感受。
一、我觉得学会搜索很重要。很多东西前人都做过,我们只需站在前人的肩膀上,再加工或修改就会变成自己的,这样可以缩短时间,提高效率。所以能有效的搜索到最靠近的资料,就越快达到目标。个人觉得www.baigoogledu.com这个集成谷歌、百度的搜索很好用。
二、在什么都不懂的情况下,我们要先拿来,借鉴别人所作的东西,去完成自己要做的东西。
三、当我们已经会做某一东西时,我们要回过头来看看。想想为什么要这样做?这样做的目的是什么?有没有其他更好的方法?这种方法有没有缺点等等。这样既能巩固我们学习的知识,又能引发我们的思考,让我们达到更高的层次。
四、高手们常教导我们,笔记很重要。及时记录一些内容,并整理有利于以后翻阅,查找,我也是刚刚起步。
以下是我写上位机的一些重要代码。一些变量代码命名有些不规范,希望自己在以后学习和运用中不断改正。我转了一篇C++串口调试助手的文章,步骤可以模仿,在这里就不写步骤了,就直接贴部分代码了。
在初始化函数中添加:
// TODO: Add extra initialization here
m_bAutoSend=FALSE; //m_bAutoSend为全局变量
m_nCycleTime=1000;
m_GPSCOM.SetCommPort(1); //选择COM1
m_GPSCOM.SetInputMode(1); //输入方式为二进制方式
m_GPSCOM.SetInBufferSize(1024); //设置输入缓冲区大小
m_GPSCOM.SetOutBufferSize(512); //设置输出缓冲区大小
// m_GPSCOM.SetSettings("9600,n,8,1"); //波特率115200,无校验,8个数据位,1个停止位
if(m_GPSCOM.GetPortOpen()) //如果串口是打开的
m_GPSCOM.SetPortOpen(FALSE);//则关闭串口
//参数1表示每当串口接收缓冲区中有多于
//或等于1个字符时将引发一个接收数据的OnComm事件
m_GPSCOM.SetRThreshold(1);
m_GPSCOM.SetInputLen(0); //设置当前接收区数据长度为0
//m_GPSCOM.GetInput(); //先预读缓冲区以清除残留数据
显示接收到的内容
m_RXDATA建立的变量是CEidtl类型,不是CString
static long RXcount=0;
void CGPS_COM1Dlg::OnGPSCOM() //编辑框接收函数——用于显示串口接收到的数据
{
<