现在市面上所用的嵌入式ARM触摸一体机设备,都是基于嵌入式
Linux系统
开发的,
文件系统集成了QT开发平台(系统驱动已经集成,只需要简单的调用),方便QT软件工程师开发应用程序。

 ePC-K50T-Lite工业平板电脑,该产品是一套以Cortex A8 1G主频 ARM嵌入式CPU,512M Bytes DDR3 SDRAM、基于嵌入式Linux操作系统的高性能嵌入式工业平板电脑,该产品设计采用了5英寸高亮度TFT真彩液晶屏,四线电阻式或者多点电容触摸屏硬件规格(精简版)产品特性液 晶 屏:5"TFT真彩液晶屏(16:9比例),分辨率 800×480触摸规格: 电阻屏电容屏可选中央处理器:CortexA8 嵌入式ARM低功耗CPU,主频1G Hz内  存: 512MBytes DDR3 SDRAM存储设备:256M Flash电子盘扩展存储: SD卡存储最大支持扩展到32G实测功耗:3.12W(12V,260mA);电源输入:DC 12V输入;接  口:1路RS-232接口;1路RS-485接口;1路RS232调试串口(RX0,TX0)1路USB 主口;1路100M网络接口; 其它:内置RTC实时时钟(可断电保护)看门狗管理(可调节看门狗时间)内置蜂鸣器,提供函数控制发声;防浪涌、防雷击、防反接、过流保护、宽电压;应用环境工作温度:﹣10℃-60℃存储温度:﹣20℃-70℃工作湿度:20%RH –95%RH,不可结露产品规格结  构:工业塑料结构安  装:嵌入式安装重 量: 0.3kg1.3 软件规格Linux内核版本采用3.2;文件系统集成了QT4.8.5,方便用户开发带有界面的应用程序。特色功能:支持SD卡更换开机LOGO,仅需要在SD卡里面拷贝真彩的BMP图片文件既可;支持SD卡现场在线升级Linux操作系统和用户应用程序;支持开机自启动应用程序设置;ePC-K50T-Lite系统软件特性ePC-K50T-Lite 的Linux 内核版本是3.2.0;文件系统集成了QT4.8.5,方便用户开发带有界面的应用程序,交叉编译工具是:arm-linux-4.4.3.tar.bz2。注意:QT4.8.5可以通过QT Creator平台直接编程,编译,非常方便,系统中所有的带界面的testAPP都是基于QT4.8.5来开发的。以上的源码包在网盘资料/ycsrc中光盘网盘下载地址:http://pan.baidu.com/s/1RkjjK
ePC-K50T-Lite工业平板电脑,该产品是一套以Cortex A8 1G主频 ARM嵌入式CPU,512M Bytes DDR3 SDRAM、基于嵌入式Linux操作系统的高性能嵌入式工业平板电脑,该产品设计采用了5英寸高亮度TFT真彩液晶屏,四线电阻式或者多点电容触摸屏硬件规格(精简版)产品特性液 晶 屏:5"TFT真彩液晶屏(16:9比例),分辨率 800×480触摸规格: 电阻屏电容屏可选中央处理器:CortexA8 嵌入式ARM低功耗CPU,主频1G Hz内  存: 512MBytes DDR3 SDRAM存储设备:256M Flash电子盘扩展存储: SD卡存储最大支持扩展到32G实测功耗:3.12W(12V,260mA);电源输入:DC 12V输入;接  口:1路RS-232接口;1路RS-485接口;1路RS232调试串口(RX0,TX0)1路USB 主口;1路100M网络接口; 其它:内置RTC实时时钟(可断电保护)看门狗管理(可调节看门狗时间)内置蜂鸣器,提供函数控制发声;防浪涌、防雷击、防反接、过流保护、宽电压;应用环境工作温度:﹣10℃-60℃存储温度:﹣20℃-70℃工作湿度:20%RH –95%RH,不可结露产品规格结  构:工业塑料结构安  装:嵌入式安装重 量: 0.3kg1.3 软件规格Linux内核版本采用3.2;文件系统集成了QT4.8.5,方便用户开发带有界面的应用程序。特色功能:支持SD卡更换开机LOGO,仅需要在SD卡里面拷贝真彩的BMP图片文件既可;支持SD卡现场在线升级Linux操作系统和用户应用程序;支持开机自启动应用程序设置;ePC-K50T-Lite系统软件特性ePC-K50T-Lite 的Linux 内核版本是3.2.0;文件系统集成了QT4.8.5,方便用户开发带有界面的应用程序,交叉编译工具是:arm-linux-4.4.3.tar.bz2。注意:QT4.8.5可以通过QT Creator平台直接编程,编译,非常方便,系统中所有的带界面的testAPP都是基于QT4.8.5来开发的。以上的源码包在网盘资料/ycsrc中光盘网盘下载地址:http://pan.baidu.com/s/1RkjjK开机主界面(用户可以自己开发应用界面替换即可)

设置界面
 ePC-K50T-Lite   API函数在
ePC-K50T-Lite   API函数在ePC-L
中编写应用程序,需要用到网盘资料中的库文件和头文件,位置:网盘资料目录“testApp
”->
“ycapi
”下的libycapi.so
库文件、相应的头文件ycapi.h
。下面根据每个功能划分为几部分,分别对各个功能需要调用的函数进行详细的介绍。(1)#include "ycapi.h"
         在要引用函数的文件中添加。
(2)LIBS += -L../ycapi     -lycapi
INCLUDEPATH += ../ycapi
在QT工程文件(.pro文件)中添加。
注意:../ycapi是libycapi.so和ycapi.h存放的路径,客户需要根据放置的位置来定义此路径。
   (3)库文件是以类的形式实现的,因此调用前首先要实例化对象,如下所示:
              Ycapi * ycapi = new Ycapi();
              例如调用蜂鸣器打开可以用:ycapi-> BeepOn(true);
        注意最后不用的时候,用delete ycapi来释放。
2.3.1 设置背光的功能    (1
)背光控制函数原型:void   SetBacklightOn(int BakLevel)     
参数说明:              int BakLevel:     
亮度依次减弱:0
,1
,2
,3
,4                 
(2
)设置默认的背光级别函数的原型:void SetDefaultBackLightLevel(int level)         
参数说明:               int BakLevel:    
默认的级别为:0
,1
,2
,3         
注意:这里只有默认四个级别没有4
。(3
)得到设置的默认背光级别函数的原型:int  GetDefaultBackLightLevel()
返回值:int 
:得到的参数分别为:0,1,2,3
四种默认情况。Note:
函数的具体详细的用法,请看网盘资料中的示例源码2.3.2 看门狗功能       bool SetWDog(intinterval)       
说明:  设置看门狗超时值       参数:int interval
:这里的范围是 0 < interval <= 30 ,
单位是秒        bool StartWDog();         
说明:  启动看门狗       参数:无              bool FeedWDog();       
说明:  喂看门狗       参数:无        Bool StopWDog();       
说明:  停止看门狗       参数:无       Note:
函数的具体详细的用法,请看网盘资料中的示例源码   2.3.3 蜂鸣器开关功能       bool BeepOn(boolbStatus)       
参数说明:       bool bStatus
: 蜂鸣器打开:true                       
蜂鸣器关闭:false
       Note:
函数的具体详细的用法,请看网盘资料中的示例源码    2.3.4 状态灯功能       ePC-A
产品前面板总共有三个灯,此处控制的是中间的灯。       bool SetLed(boolbStatus)       
参数说明:       bool bStatus
:状态灯打开:true
状态灯关闭:false                       
       Note:
函数的具体详细的用法,请看网盘资料中的示例源码2.3.5 EEPROM读写功能       读函数原型:bool ReadEEPROM(int addr,char *buf)                  
参数说明:              int addr :
读的地址,0-255
              char *buf:
读到的字符串    写函数原型:bool WriteEEPROM(int addr,char *buf)             
参数说明:              int addr :
写的地址,0-255
              char *buf:
写的字符串Note:
最大长度是255
个字节,函数的具体详细的用法,请看网盘资料中的示例源码 2.3.6 IO输入输出功能(此功能选配)       总共有8
路IO
口,默认配置为4
路输入和4
路输出。   (1)4路输出       bool SetIO( unsignedchar level , unsigned char ioNum)       参数说明:              unsigned char level:       0
:低电平1
:高电平              unsigned char ioNum:    0-3(
分别代表要输出的IO
口号:OUT0 ~ OUT3)       
(2)4路输入a) bool SetIoMode(int ioNum,int ioMode ,int triggeredMode);参数说明:              int ioNum:             0-3
:分别代表要设置的IO
口号:IN0 ~ IN3
;0xf
:代表设置所有的4
路输入口为某种方式。              int ioMode:            IO_POLLING_MODE
(查询模式)                                      IO_INTR_MODE     (
中断模式)
        int triggeredMode: IO_INTR_LOW_LEVEL_TRIGGERED             
低电平触发IO_INTR_HIGH_LEVEL_TRIGGERED            
高电平触发IO_INTR_FALLING_EDGE_TRIGGERED        
下降沿触发IO_INTR_RISING_EDGE_TRIGGERED      
上升沿触发IO_INTR_BOTH_EDGE_TRIGGERED        
双沿触发函数说明:SetIoMode
是设置4
路输入口的接收方式,分为查询方式和中断方式,可以对每一个口单独配置为查询或者中断。在配置为查询模式后此函数的第三个参数不起作用,可以设置为任意的整数。              在配置为中断模式后此函数的第三个参数来设置中断触发的模式,总共分为以上5
种。       注意:系统中默认使用的4路输入IO口全是查询模式,可以通过以上函数设置为中断方式。          b) unsigned charGetIO(unsigned char * level ,unsigned char ioNum)       参数说明:              unsigned char * level:    0
:得到低电平1
:得到高电平              unsigned char ioNum:    0-3(
分别代表要得到的IO
口号:IN0 ~ IN3)       
返回值说明:              Unsigned char 
:返回的是所有4
路输入IO
口的当前高低状态,unsigned char
总共一个字节,8
位,从第0
位---
第3
位,分别代表IN0-IN3
的高低电平。c) bool GetIoBlockMode( unsignedchar * level,unsigned char ioNum)参数说明:              unsigned char * level:    0
:得到低电平1
:得到高电平              unsigned char ioNum:    0-3(
分别代表要得到的IO
口号:IN0 ~ IN3)       
函数说明:此函数是用于IO
口配置为中断模式后,用户在一个线程中调用此函数,当要读取的IO
口(ioNum
)中断产生的时候才会返回,否则一直阻塞,所以此函数只能是用在IO
口设置为中断方式后才可以用。d)4路输入IO口使用说明查询模式:系统默认4
路输入IO
全是查询模式,所以如果用户不需要中断模式,则可以直接通过GetIO
函数来得到相应输入口的值为高电平还是低电平,不需要用到SetIoMode
函数。中断模式:系统默认4
路输入IO
全是查询模式,所以如果用户需要中断模式,则需要通过SetIoMode
函数来设置相应IO
口为中断模式,并且设置相应的中断触发方式。设置完成后,新起一个线程,调用GetIoBlockMode
函数,没有来中断之前一直阻塞,一旦系统收到中断,立即返回。Note:
函数的具体详细的用法,请看网盘资料中的示例源码 2.3.7 AD数据采集bool ReadAdc(intchannel,double *data)       
参数说明:       int channel
:   ADC 
通道号:4~7
       double *data
: 相应通道中读出的数字值,再需要乘以下面介绍的系数来得到采集的电压和电流的最终值。K50T-Lite引出4路AD(标配为电流采集4-20mA,需要电压采集提前声明)
(1) 电流采样
     电流输入范围:4-20mA
     AD分辨率12位
     最大采样率 200KHz
     实际输入电流I=D*(20/4095)  
     AD转换误差为-5LSB---+5LSB
注:I为输入电流,以毫安为单位。D为转换后的数值,即为ReadAdc中读出的数字值。
(2) 电压采样
     电压输入范围:0-10V
     AD分辨率12位
     最大采样率 200KHz
     实际输入电压Vin=D*(10/4095)
     AD转换误差为-5LSB---+5LSB
 注:Vin为输入电压,以伏为单位。D为AD转换后的数值,即为ReadAdc中读出的数字值。
 Note:
函数的具体详细的用法,请看网盘资料中的示例源码2.3.8 拷贝功能       bool CopyDir(char*dstDir,char *srcDir)       
参数说明:       char *dstDir
:要拷贝的目的地址char *srcDir
:要拷贝的源地址                               Note:
函数的具体详细的用法,请看网盘资料中的示例源码2.3.9 输入法的使用       K50T-Lite
系统中集成了输入法,可以输入英文、数字和中文,用户方便调用和集成到自己应用中,调用方法很简单,介绍如下:       建立完项目工程后,在main.cpp
文件中的main
函数里面,添加如下:       int main(int argc, char *argv[])
{
    QApplication a(argc, argv);    
MyInputPanelContext*ic = new MyInputPanelContext;    a.setInputContext(ic);    ycinput w;
    w.show();
    return a.exec();
}
只需要添加蓝色代码,就可以在整个工程的输入框中双击就可以调用输入法。2.3.10  CAN总线(1)void      OpenCan(int baudrate)
参数说明:int baudrate:CAN总线的波特率设置,支持波特率如下:20000, 40000, 50000, 80000,
       100000,125000, 200000, 250000,400000,500000, 666000, 800000, 1000000
 打开CAN句柄。
(2)void      WriteCan(int can_id,unsigned char * data, unsigned chardlc)
参数说明:int can_id:发送帧ID
unsigned char * data:发送的数据
unsigned char dlc:发送数据的长度
 发送数据。
(3)void  ReadCan(unsigned  int *can_id, unsigned char * can_dlc, unsigned char * data)
参数说明:unsigned  int *can_id:读到的发送帧ID
unsigned char *  can_dlc:读到的发送数据的长度
unsigned char * data: 读到的CAN数据
(4)void    CloseCan()
 关闭CAN句柄。
 示例代码在光盘中,ycsrc/ycinput.tar.gz
2.3.11 网络配置K50T-Lite
可以集成两路有线网口,LAN1
和LAN2
,标配只有一路,默认是LAN1
。boolSetNetWork(int num,bool isDhcp,char * ip,char * subnetmask,char * gateway,char*dns)       
参数说明:int num
:两路网路的选择,LAN1
:num=0
LAN2
:num=1;
bool isDhcp
:是否动态获取网络配置,预留接口,目前只能静态设置,因此只能是fasle
char * ip
:        要配置网络接口的IP
地址char * subnetmask
:要配置网络接口的子网掩码char * gateway
:   要配置网络接口的网关char *dns
:       要配置网络接口的DNS 
boolSetMacAddr(int num,char * macAddr) 
参数说明:int num
:两路网路的选择,LAN1
:num=0
LAN2
:num=1;
char * macAddr
:格式:xx:xx:xx:xx:xx:xx 
例如:0:A1:E9:40:6D:E6
注意:以上两个函数在扬创系统主程序的设置工具中有设置,用户可以不调用这些函数,直接加载扬创的设置工具,目录为/bin/SystemSet
。