第一天实习

哈哈,博客写成日记了,将就着看。

经过体检,终于入职了。(感冒会导致血常规异常,通不过体检,忙了几天)。

今天第一天实习,导师超级好,今天主要配了环境。maven,jdk以及idea,git。这里公司里jdk还是用的jdk8。

问题1:遇到的问题有代码不要直接下载,用git拉取,这样可以和服务器同步,并且有多个分支,而直接下载是没有的。

问题2:没有启动类。其实是代码没拉取下来,版本不对,切换到dev环境(开发环境),进行拉取,找到main的类,然后配置vm环境以及运行参数。

问题三:看了一下午的开发规范,还是比较复杂的,又看到一些八股的踪迹,比如修改equals要修改hash函数等等,也有一些新收获,比如浮点数的比较(如何比较相等)等等,回顾了变量,枚举,常量,Controller/Service/Mapper的一些函数的命名规则,getxxx(查询一个),listxxx(查询多个)等等。

得多花时间看开发规范,及时熟悉项目。

感谢大家的关注

### 如何从LCD1602显示屏读取数据 对于LCD1602而言,其主要功能在于显示而非作为输入设备来提供数据反馈。然而,在特定情况下确实可以通过设置R/W引脚的状态来进行读操作。当R/W被拉高至逻辑1时,表示准备从LCD模块读回状态或数据;而要实现这一点还需要配置其他几个重要的信号线。 #### 配置RS和EN引脚用于读操作 - **RS (Register Select)**: 当此引脚设为低电平时,意味着即将发生的任何传输都将涉及命令而不是字符数据。如果目的是查询当前的忙标志或是获取地址计数器的内容,则应保持该引脚处于低位。 - **EN (Enable)**: 此引脚决定了何时采样并处理来自微控制器的数据总线上面的信息。为了启动一次有效的读周期,先将EN置零再迅速切换成高电平一段时间之后再次回到低电平位置。这个过程被称为脉冲触发[^1]。 ```c void LCD_ReadBusyFlag(void){ RS=0; R_W=1; // 设置为读模式 EN=0; while(1){ EN=1; _delay_ms(5); // 延迟等待 if(D7==0) break;// 如果忙碌标记清除则退出循环 EN=0; } } ``` 上述代码展示了如何检测繁忙旗标以确保在尝试读取之前屏幕已经准备好接受新的请求。一旦确认不再忙碌就可以继续下一步骤了。 #### 实际读取数据的过程 实际执行读取动作前必须先调用`LCD_ReadBusyFlag()`函数验证显示器是否空闲。接着把想要访问的具体内存单元加载到内部指针里去(比如通过发送适当的位置设定指令)。最后一步就是真正意义上的“读”,这涉及到改变某些硬件连线以及编写相应的软件逻辑: ```c unsigned char LCD_ReadData(void){ unsigned char data; RS = 1; // 选择数据寄存器 R_W = 1; // 设定为读方式 EN = 0; // 初始化使能端口 // 发送使能脉冲开始读取 EN = 1; _delay_us(1); EN = 0; // 获取返回的数据值 for(int i=0;i<8;i++){ if(PIN_D[i]) { data |= (1 << i); } else { data &= ~(1 << i); } } return data; } ``` 这段程序片段实现了完整的单次读取流程,其中包含了必要的延时考虑以便让外部电路稳定下来从而获得准确的结果。值得注意的是这里假设了一个名为PIN_D[]数组用来模拟真实的I/O接口情况,具体实现会依赖于所使用的开发板及其对应的库文件定义[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值