任务:
- 空按 OK 键处理;
- 解决各种小 BUG;
上午
上午去深圳看了一下国际电子展

5G 在工业上的应用已经这么熟练了吗,很多智能设备以及工业物联网都打着 5G 的旗号了;
果然我们这还是小乡村呀,乡下人进城;
下午
解决一下 OK 键问题;
用一个标志位
bool isOk = false; //判断是否输入了数值,以防止空按 OK 键;判断是否空按 OK 键;而且空按后要仍然触控该位置继续输入状态,所以输入判断中要保留当前触控位置;这里我把计算函数加了个参数,方便使用(加参确实好用很多),不然太死板,要加各种判断;
void CalculateLocation(u8 address2) //通过返回的地址计算行和列;
{
int row, col;
row = (address2) / 16; //用参数来决定是要触摸下一个地址所对应的坐标,还是重新触摸该地址坐标;
col = (address2) % 16;
Xh = (172 + col * 56) / 255;
Xl = (172 + col * 56) % 255;
Yh = (205 + row * 50) / 255;
Yl = (205 + row * 50) % 255;
Sdata_simulateTouch_data[10] = Xh;
Sdata_simulateTouch_data[11] = Xl;
Sdata_simulateTouch_data[12] = Yh;
Sdata_simulateTouch_data[13] = Yl;
return;
}
void isInput()
{
int n = 72;
while(n--) {
if(code_state == 0) { //若切换了页面则直接退出;
isNeedJudge = true;
break;
}
Send_Dwin(Read_input, 7);
delay_ms(1);
if(address1 == 0x80 && data == 1) {
Read_input[5] = 0x00;
Sdata_hidedata[4] = 0x51 + address2 / 16;
Sdata_hidedata[5] = address2 % 16 * 0x10;
Sdata_showdata[4] = Sdata_hidedata[4];
Sdata_showdata[5] = Sdata_hidedata[5];
Sdata_showdata[7] = (address2 - 1) * 0x02; //这是解决了cancel的显示问题,要记录需要显示的地址;
Send_Dwin(Sdata_hidedata, 8);
CalculateLocation(address2 * 0x02);
isOk = false;
isNeedJudge = false; //扫描到一个后就不需再扫描了;
return;
}
Read_input[5]++;
}
Read_input[5] = 0x00;
return;
}
if (INT_H_KEY1 == 0) //OK
{
delay_ms(10);
if (INT_H_KEY1 == 0)
{
BEEP = 1;
if(code_state == 1) {
Send_Dwin(Sdata_simulateTouch_ok, 14);
}
while (!INT_H_KEY1)
;
BEEP = 0;
delay_ms(5); //等待中断;
if(isOk == false) {
Send_Dwin(Sdata_simulateTouch_data, 14);
}
else if(code_state == 1 && isNeedJudge == false && isOk == true) {
CalculateLocation(address2 + 2);
//因为前面判断输入时隐藏了,所以这边要先加上;
if(Sdata_hidedata[5] == 0xF0) {
Sdata_hidedata[4] += 0x01;
Sdata_hidedata[5] = 0x00;
}
else {
Sdata_hidedata[5] += 0x10;
}
Sdata_showdata[7] = address2; //需要的显示的控件地址;
Send_Dwin(Sdata_hidedata, 8); //隐藏下一个显示控件;
Send_Dwin(Sdata_simulateTouch_data, 14);
Send_Dwin(Sdata_showdata, 8);
if(Sdata_showdata[5] == 0xF0) { //显示的越界处理;
Sdata_showdata[4] += 0x01;
Sdata_showdata[5] = 0x00;
}
else {
Sdata_showdata[5] += 0x10;
}
isNeedJudge = false;
}
}
}
这样就解决了空按问题,接下来就是上下滑动问题了,还有输入状态下的自动增加行,天呐,果然工程量超级大;
本文探讨了5G技术在工业领域的广泛应用,特别是在智能设备和工业物联网方面的发展。作者在深圳国际电子展上观察到了5G技术的成熟应用,并在文中详细介绍了如何在嵌入式系统中解决空按OK键的问题,包括使用标志位和计算函数来优化输入流程。

被折叠的 条评论
为什么被折叠?



