or1200下Raw-OS学习(例子篇)

本文介绍了一个用于测试电路板物理连通性的ICT系统设计过程。该系统由主控板和多个子板组成,采用RTOS框架进行任务管理。主控板负责启动子板并收集测试数据,子板则执行具体的阻抗、电压和电流测量任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        没有图我说个~毛(J)线(B)~对吧???

        直接上一个以前做过的项目来说说怎么去从一个前后台的程序过度到利用操作系统去管理的你代码吧~以前想过直接用事件驱动的框架去编写代码的,无奈这方面的资料实在太少~而且我的水平也不足以胜任,既然现在在全力支持Raw-OS,那么就用RTOS的框架去描述这个工程lor,好了,直接上图了,没有图我说个~毛(J)线(B),一个ICT的例子,先给框图再说功能吧,也希望初学者能和小弟我一起讨论讨论,仅限于初学者哈~大牛不小心路过就不要吐槽小弟了~



 

 

        这是一个简易ICT的模块框图。

        至于ICT是个什么东东呢~各位可以自行google一下,不解释了~说多了都是泪~


        这里就直接解释这个东西是拿来干什么用的

        首先,ICT的作用是测试电路板的物理连通性而做的

        那这里的话~我们有一个主控板(Master Board),若干个子板(Slave Board)


        子板功能:负责测试待测试的电路板(UUT)的阻抗、电压和常态的电流~对于阻抗呢?首先我们会在选定的板卡上去留出测试点,或者你可以找一块电脑主板,认真看看,会发现很多的测试点,这就是我们肋完板之后会做ICT的测试,看看是否有元件虚焊,短接,掉件之类的,因为你想想,一个电路功能模块出现以上这些情况之后,一定会在某些关键点上发生阻抗值的改变,一定是。所以我们只要用板卡测出阻抗值不对就可以认定这个板卡有问题。不知道大家有没有见识过生产那边用人工检板那种盛况,好一点的公司会用专门的显示仪器做图像阴影扫描~SMT的时候会做,但是轮到插件过完波峰焊之后一般都是人工检板,省成本嘛~天朝嘛~老板嘛~天朝的老板嘛~你懂的~

        对于电压呢?一样道理,主要是检查芯片和主要的供电端是否加电正确。

        对于电流呢?如果不正常工作的情况下,常态电路是会有变化的


        所以呢,综合起来,进入系统的任务划分~我们可以先简单的设计出4个任务了~

        1.测试阻抗用的:MeasureImpedance

        2.测量电压用的:MeasureVoltage

        3.测量电流用的:MeasureCurrent

        4.接收Master Board启动信息:GetMasterCmd


        至于Master Board来说,是通过I2C总线去负责各个Slave Board的通信的,至于相关的任务,我们留到信号量学习完毕之后再去具体设计,目前先分工好Master Board和Slave Board的任务先


        看图说话啊,对于Master Board来说,先接收按键的功能选择信息,然后启动Slave Board,收集各个Slave Board的测量信息,归总到Master Board上,然后将测量信息打印到LCD屏上做显示,同时将板次信息和结果写入到SD Card中留备份~至于Uart是Debug阶段用的。


        又所以呢,对于Master Board来说,可以先设计出5个任务:

        1.按键消息处理:KeyMsgProcess

        2.启动Slave Board:MasterSendCmd

        3.收集Slave Board测量信息:GetMeasureMsg

        4.LCD显示结果:LcdDisp

        5.结果存入SD Card:SdStore


        然后,下一篇任务的API学习,然后具体我们设计相关的任务,以后也根据这个历程学习学习从无到有的设计吧~至于需求分析这些略过吧~以后有机会和大家分享分享

 

 

        这些全都是只是抽象出来在or1200这个架构下验证程序设计的正确性,实际的项目是用Cotex-M4做主控完成的~刷屏这个当时真是搞死人了~

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/jiangu66/p/3241136.html

在Python中,特别是在Qt库中,我们可以使用`PIL` (Python Imaging Library) 来处理图像,然后在`QTabWidget`上显示它们。以下是一个简单的步骤: 1. 首先,安装所需的库(如果尚未安装): ```bash pip install pillow pyqt5 ``` 2. 导入必要的模块: ```python from PyQt5.QtWidgets import QApplication, QWidget, QTabWidget, QVBoxLayout, QLabel from PIL import Image import os ``` 3. 创建一个函数来读取和显示图片: ```python def display_image(tab_index, image_path): img = Image.open(image_path) label = QLabel() pixmap = QPixmap.fromImage(img) label.setPixmap(pixmap) layout = QVBoxLayout() layout.addWidget(label) widget = QWidget() widget.setLayout(layout) tab_widget.addTab(widget, "Image {}".format(tab_index)) ``` 4. 初始化主窗口、QTabWidget以及添加图片: ```python if __name__ == "__main__": app = QApplication([]) # 创建QTabWidget实例 tab_widget = QTabWidget() # 假设图片文件夹路径在程序根目录下 image_dir = "path_to_your_images" # 获取目录下的所有图片文件 images = [os.path.join(image_dir, f) for f in os.listdir(image_dir) if f.endswith(".jpg") or f.endswith(".png")] # 遍历图片,将其显示在QTabWidget的不同标签页上 for i, img_path in enumerate(images): display_image(i, img_path) # 显示窗口 main_window = QWidget() main_window.setLayout(QVBoxLayout()) main_window.layout().addWidget(tab_widget) main_window.show() # 运行应用程序 app.exec_() ``` 在这个例子中,你需要将`image_dir`替换为你实际的图片文件夹路径,并确保只有.jpg或.png类型的文件在该目录下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值