当前位置:网站首页>(工作记录)2020年3月11日至2021年3月15日
(工作记录)2020年3月11日至2021年3月15日
2022-07-06 12:24:00 【Kshine2017】
1. 恒光源,光电采集板
1.1 计划
刚进入公司,需要快速的接手一些工作。
1.2 设备版本迭代
1.3 调试问题记录
1.3.1 定时中断使用,不进入中断?
1.3.2 采样通道划分
1.3.3 在20us的中断内,使用SPI通讯读取AD值
1.3.4 按键和led
1.3.5 与PLC通信时,不能即使响应PLC发来的命令
1.3.6 PLC发送的命令未能即使被处理与回包。
1.3.7 MCU发送到PLC的11通道值错位
1.3.8 设备运行一段时间后,重新上电,不能正常工作
1.3.9 PID调节时,不能跨度很大的调节
1.3.10 Boot升级,出现升级到中途中,卡死的问题
1.3.11 测试光谱仪通讯时,发现DMA发送会死机
1.3.12 modbus串行发送,组帧出错。
1.3.13 温湿度传感器长时间工作后,温度值读满65535
1.4 Modbus协议
1.4.1 修改后的帧协议格式
1.4.2 工业标准
1.4.3 通信指令
1.4.4 光谱仪相关指令
1.5 光谱仪相关逻辑
1.6 编译生成
1.7 传输浮点数的大小端转换
1.8 Bootloader工程
1.8.1 Ymodem协议
1.8.2 Flash操作
1.8.3 串口配置
1.8.4 问题记录
1.8.5 在Boot中,是否可以使用F103读取U盘?
- 后期补充
2. pH/ORP变送器,数采仪
2.1 早期准备
- 界面显示和触摸的功能。试过UGUI,最终选用STemWin图形库。
2.1.1 显示屏显示相关
- FSMC
- 显示芯片的时间参数
- 关于MCU的FSMC地址的使用划分
- LCD引脚
- FSMC地址的理解
2.1.2 触摸屏的触摸芯片
- GT9147电容触摸
- XPT2046/HR2046电阻式触摸
- ADS7843电阻触摸
2.2 其他准备
2.2.1 EEprom存储设备,AT24CXX
- 出现问题
- 解决方式
- EEPROM中存放校准触摸的参数
2.2.2 SD卡/TF卡和文件系统
- SD卡4位宽 参数设置
- 驱动代码框架分析
- SDIO通信需要开关中断
- SDIO的分频系数
2.2.3 AD采集和DA输出
- AD采集
- DAC输出
2.2.4 RTC时间
2.2.5 串口
2.3 初始开发阶段
2.3.1 罗姆LCD触摸屏
- 初始化过程
2.3.2 工程拆分
2.3.3 EmWin界面设计
- 关于移植添加Emwin
- 闪屏问题
- 如何绘制闪烁图片的效果
- 切换子页面后显示重影
2.3.4 界面问题记录
小键盘输入异常
校正页面缺少保存参数的按钮
ADS1220进行温度读取
在没有重定向fputc的时候,不可以使用printf。
ADS1220读数异常,在两个数字之间跳。
部分功能实现
部分BUG修正
锁相环等待ready失败
片内ADC采集pH电动势,存在1~2mV波动,导致pH值存在0.04左右的波动
LL库死循环等待
关于pH的测量,引入温度参与计算
针对片内AD波动的情况,考虑延时给数字
W25Q128芯片,按照时间戳存放记录
SD卡文件系统,写数据1小时左右,文件系统会崩,无法继续写
界面读取显示,通过按键开始读数据的动作
文件系统中的时间
RTC时间的问题
增加时间设置页面
切换“天”“小时”,创建新的文件夹和文件
记录pH数据,发现异常值
掉电之后,RTC时间不走
关于片外FLASH的设计
对空间进行划分
SPI逆初始化
对AD采集pH的代码进行优化
W25Q128最终方案(当前版本)
硬件改造
日志数据格式
界面总结
3. Luat脚本开发
合宙Air724UG。
3.1 功能概述
3.2 lua语法与框架设计
3.3 项目要求
3.3.1 读取设备数据和设置参数
3.3.2 数采仪向分析仪写指令
3.3.3 采集数据
3.3.4 工程代码框架
3.3.5 关于串口的使用
3.3.6 线程划分
3.4 当前进度
4. 实时系统RTOS学习与回顾
4.1 FreeRTOS
4.1.1 核心功能
4.1.2 内存管理
heap1
heap2
heap3
略heap4
4.1.3 任务管理
4.2 LiteOS
4.2.1 简介
4.2.2 CORE-A,R,M三种核
4.2.3 什么是CMSIS
4.2.4 tickless低功耗模式
4.2.5 LwM2M轻量级机器到机器协议
4.2.6 NB-IOT窄带物联网
4.2.7 mbedTLS (SSL/TLS算法库)
4.2.8 lwIP
4.2.9 mqtt
4.2.10 LiteOS移植
4.3 RT-thread
4.3.1 源码移植
- 头文件路径
- 需要被包含的源文件
4.3.2 动态任务线程创建
4.3.3 Shell如何添加到系统?
- 实现UART控制台
- 添加FinSH组件
- Shell如何启动
4.3.4 组件初始化顺序
4.3.5 简介
4.3.6 内核
4.3.7 启动文件
4.3.8 对象容器
4.3.9 内核之线程调度器
4.3.10 任务切换,上下文切换
4.3.11 线程管理
4.3.12 线程间同步
4.3.13 线程间通信
4.3.14 定时器
5.串口扩展板
5.1 概述
基于F103RCT6,RT-thread实时系统。
5.2 串口划分
5.3 运行指示灯
5.4 线程划分
5.5 消息队列的使用
5.6 PLC下发的报文
5.6.1 功能码
5.6.2 寄存器定义
5.7 开始实现
5.7.1 主串口(usart1)
接收来自PLC的报文:
采用485通信,DMA收发。
DMA的寄存器结构体
5.7.2 业务逻辑
5.7.3 软件版本号定义
5.8 问题记录
5.8.1 消息队列获取消息,消息长度不定
5.8.2 上位机界面设计
5.8.3 DMA发送数据不完整
5.8.4 keil编译问题
5.8.5 输出量数据定义
5.8.6 rtos启动软件定时器,响应速度变慢
5.8.7 检查从串口的站地址
5.8.8 当前进度
5.8.9 特殊情况,串口5没有DMA
5.8.10 ADC校准
5.8.11 硬件CRC32不可以用来modbus计算
5.8.12 下载调试异常
6. 屏幕使用-迪文
6.1 基本介绍
- DMG12720 T 050
- DMG10600 T070
6.2 软件的使用
6.3 软件图标
6.4 弹出菜单
6.5 RAM变量地址范围
6.6 其他
7. 屏幕使用-大彩
7.1 简介
7.2 开发准备
7.3 Visual TFT使用
8. 湿度变送器
8.1 资源分配
8.2 加热单元
8.3 湿度脉冲计数
- 100ms内的脉冲数
8.4 看门狗
- 40KHz
8.5 移植Rt-thread
- 参考前文
8.6 创建线程
8.7 问题记录-串口接收数据全0
8.8 待完成功能
8.9 问题记录
8.9.1 输入捕获
8.9.2 电容与频率
8.9.3 PID参数估算
8.9.4 PWM使用PB12,IO模拟
8.9.5 控温
边栏推荐
- 【计网】第三章 数据链路层(4)局域网、以太网、无线局域网、VLAN
- 永磁同步电机转子位置估算专题 —— 基波模型与转子位置角
- Appx code signing Guide
- Tencent cloud database public cloud market ranks top 2!
- BeagleBoneBlack 上手记
- Tencent Android development interview, basic knowledge of Android Development
- 5. Nano - Net in wireless body: Top 10 "is it possible?" Questions
- Cesium 点击绘制圆形(动态绘制圆形)
- 【云小课】EI第47课 MRS离线数据分析-通过Flink作业处理OBS数据
- Anaconda安裝後Jupyter launch 沒反應&網頁打開運行沒執行
猜你喜欢
Node. Js: express + MySQL realizes registration, login and identity authentication
BUUCTF---Reverse---easyre
Jupyter launch didn't respond after Anaconda was installed & the web page was opened and ran without execution
RT thread I2C tutorial
棋盘左上角到右下角方案数(2)
Discussion on beegfs high availability mode
Tencent Android development interview, basic knowledge of Android Development
Tencent byte and other big companies interview real questions summary, Netease architects in-depth explanation of Android Development
【每周一坑】计算100以内质数之和 +【解答】输出三角形
Standardized QCI characteristics
随机推荐
Digital triangle model acwing 1018 Minimum toll
rt-thread i2c 使用教程
Tencent Android development interview, basic knowledge of Android Development
Detailed introduction of distributed pressure measurement system VIII: basic introduction of akka actor model
Redisson bug analysis
BUUCTF---Reverse---easyre
Crawler (14) - scrape redis distributed crawler (1) | detailed explanation
JS get browser system language
Leetcode question 448 Find all missing numbers in the array
Case ① | host security construction: best practice of 3 levels and 11 capabilities
Zoom with unity mouse wheel: zoom the camera closer or farther
mod_ WSGI + pymssql path SQL server seat
5. 无线体内纳米网:十大“可行吗?”问题
爬虫(14) - Scrapy-Redis分布式爬虫(1) | 详解
An East SMS login resurrection installation and deployment tutorial
RT thread I2C tutorial
Anaconda安装后Jupyter launch 没反应&网页打开运行没执行
Web security - payload
棋盘左上角到右下角方案数(2)
Tencent T3 Daniel will teach you hand-in-hand, the internal information of the factory