本帖最后由 刘东君 于 2021-12-24 16:24 编辑
#申请原创# @21小跑堂
1.想做一个数据采集系统,然后将数据存储起来,方便查看选择了STM32+MCGS触摸屏。
2.原理图绘制,选择立创的绘图软件,简单方面。用到了ADC采集模块与RS485通讯。
3.PCB的绘制同样采用了立创绘图软件,感觉和AD差不多,但是功能少很多,不过简单的电路板绘制也比较方便,不用单独绘制PCB的封装了,另一个重要原因,总有xiaohanjian给发律师函 ,公司也不舍得花钱!另外吐槽下中国的互联网公司,就不能搞点牛X的软件吗!!!道阻且长!!
4.样板回来了,开始焊接工作。小公司啥都是自己搞啊!吐槽下老版,不多找点人。
板子焊接完成了,不是很好看,水平有限,焊接瑕疵,上电试验,效果还行,没有电容爆炸 冒烟。
5.写程序了,先写STM32的程序,写控制下IO口 指示灯都没问题,按键也没问题,挺好!
6.先写485通讯程序,写了好久,下面是和屏通讯的主要寄存器区
- void Modbus_RegMap(void)
- {
- //ÊäÈ뿪¹ØÁ¿¼Ä´æÆ÷Ö¸ÕëÖ¸Ïò
- Modbus_InputIO[0]=(vu32*)&PEin(4);//KEY0 //&PEin(4)£ºÈ¡PE4µÄµØÖ·£¬(vu32*)&PEin(4)½«PE4µØÖ·Ç¿ÖÆ×ª»»Îªuw32ÀàÐ͵ĵØÖ·£¬Modbus_InputIO[0]=(vu32*)&PEin(4); ½«×ª»»ºÃµÄµØÖ·Ë͸øµØÖ·Ö¸ÕëModbus_InputIO[0]£»
- Modbus_InputIO[1]=(vu32*)&PEin(3);//KEY1 //*Modbus_InputIO[0] È¡³öµØÖ·ÖеÄÄÚÈÝ¡£
- Modbus_InputIO[2]=(vu32*)&PEin(2);//KEY2
- Modbus_InputIO[3]=(vu32*)&PAin(0);//KEY3
-
- //Êä³ö¿ª¹ØÁ¿¼Ä´æÆ÷Ö¸ÕëÖ¸Ïò
- // Modbus_OutputIO[0]=(vu32*)&PBout(5);//LED0
- // Modbus_OutputIO[1]=(vu32*)&PEout(5);//LED1
- Modbus_OutputIO[2]=(vu32*)&RUN;//
- Modbus_OutputIO[3]=(vu32*)&ERR;//
- Modbus_OutputIO[4]=(vu32*)&ALM;//
-
-
- //±£³Ö¼Ä´æÆ÷Ö¸ÕëÖ¸Ïò
- Modbus_HoldReg[0]=(u16*)&Show[0];//²âÊÔÊý¾Ý1
- Modbus_HoldReg[1]=(u16*)&Show[1];//((u16*)&testData1)+1;//²âÊÔÊý¾Ý1
- Modbus_HoldReg[2]=(u16*)&Show[3];//(u16*)&testData2;//²âÊÔÊý¾Ý2
- Modbus_HoldReg[3]=(u16*)&Show[2];//((u16*)&testData2)+1;//²âÊÔÊý¾Ý2
- Modbus_HoldReg[4]=(u16*)&testData1;
- Modbus_HoldReg[5]=(u16*)&testData2;
- Modbus_HoldReg[6]=(u16*)&testData3;
- }
7.写主程序:
|