基于新唐M0516LAN的SD5128的驱动测试

发布者:EtherealGlow最新更新时间:2015-07-30 来源: eefocus关键字:新唐M0516LAN  SD5128  驱动测试 手机看文章 扫描二维码
随时随地手机看文章

最近测试了一个SD5128的驱动,感觉可以 利用M0516LAN的串口来实现,写了一下测试程序,请大家核对一下是否可行。谢谢大家。
    附件源码如下:

#include
#include "M051Series.h"
#include "DriverDrvSYS.h"
#include "DriverDrvUART.h"
#include "DriverDrvGPIO.h"

//SD5128的逻辑0是25%的高75%的低,逻辑1是75%的高25%的低,那就是相当于开始25%是固定低,
//结束的25%是固定高,中间50%与逻辑相同,那么就可以简化为数据1000和1110代表逻辑0和逻辑1;
//SD5128的每个像素是3个字节的RGB数据,结束符是一位的低,25位的高,即可表示为0X7FFFFFFF
//串口UART起始位是低,结束位是高,刚好与上面的SD5128的逻辑相反,那么串口数据用6位,
//UART波形取反相后就能与SD5128的占空比符合,每个字符代表SD5128的两个BIT。编码关系如下:
//           __________________________________ 
//     |_ST_| D0 | D1 | D2 | D3 | D4 | D5 | SP |
//  00 | 0    1  1  1   0    1   1 1  | = 0x37
//  01 | 0   1  1  1   0    0   0 1  | = 0x07
//  10 | 0   0  0  1   0    1   1 1  | = 0x34
//  11 | 0   0  0  1   0    0   0 1  | = 0x04

unsigned char  BIT2BYTE[4]={0x37,0x07,0x34,0x04}; //BIT2BYTE
unsigned char  ENDCODE[4] ={0x7F,0xFF,0xFF,0xFF}; //ENDCODE
  
int SD5128_Init(void)
{
 STR_UART_T sParam;
    
 /* Set UART0 Pin */
 DrvGPIO_InitFunction(E_FUNC_UART0);

 /* Select UART0 Clock Source From 12Mhz*/
 DrvSYS_SelectIPClockSource(E_SYS_UART_CLKSRC,0); 
 /* Select UART0 Clock Source From PLL*/
// DrvSYS_SelectIPClockSource(E_SYS_UART_CLKSRC,1);

 /* UART0 Setting */
    sParam.u32BaudRate   = 800000; //1000K
    sParam.u8cDataBits   = DRVUART_DATABITS_6;
    sParam.u8cStopBits   = DRVUART_STOPBITS_1;
    sParam.u8cParity   = DRVUART_PARITY_NONE;
    sParam.u8cRxTriggerLevel= DRVUART_FIFO_1BYTES;

 if(DrvUART_Open(UART_PORT0,&sParam) != E_SUCCESS)
 {
  printf("UART0 open failed ");
  return FALSE;
 }
 return TRUE;
}

void SD5128_BYTE(unsigned char *buf,unsigned int length)
{
 int i;

 while(length--)
 {
  i=6;
  while(i>=0)
  {
   while(UART0->FSR.TX_FULL == 1);
   { 
    UART0->DATA = BIT2BYTE[(*buf>>i)&0x3];// printf(" 0x%02x",BIT2BYTE[(*buf>>i)&0x3]);
   }
   i=i-2;
  }
  buf++;
 }
}
void SD5128_Test(void)
{
 unsigned int i=0;
 unsigned char RGBDATA[3];   //RGB
 unsigned int  dly;

 printf(" ");
 printf("*** 9G-M0516 V1.00 Build by yuanxihua@21cn.com on ("__DATE__ " - " __TIME__ ") ");
 printf("*** 9G-M0516 V1.00 Rebooting ... ");
    
 SD5128_Init();
 while(1)
 {
  if(i++ > 0xFE) i=0;
  RGBDATA[0]=RGBDATA[1]=RGBDATA[2]=i; // printf(" i=%02x |",i);
  SD5128_BYTE(RGBDATA,3);    // printf(" ||");//send rgbdata
  SD5128_BYTE(ENDCODE,4); //send endcode
  for(dly=0;dly<50;dly++) DrvSYS_Delay(1000); //delay 50ms
 }
}

代码结束。

关键字:新唐M0516LAN  SD5128  驱动测试 引用地址:基于新唐M0516LAN的SD5128的驱动测试

上一篇:基于新唐M0的M0516LAN的SIM900A的驱动测试
下一篇:9G-N79E8X 新唐N79E8X+Keil C51入门开发过程简介

推荐阅读最新更新时间:2024-03-16 14:26

测量磁盘驱动器柔性电路的互连阻抗测试
HDD中需精心设计的链路是位于前置放大器和读/写磁头组件之间的互连。该互连是确保HDD以多倍Gb/s的速率读写大量数据关键组件,但是,诸如交调失真、过冲和下冲等影响常会降低互连的性能,本文简要介绍如何利用时域反射测量仪器对该互连阻抗进行测量。 HDD中需精心设计的链路是位于前置放大器和读/写磁头组件之间的互连。该互连是确保HDD以多倍Gb/s的速率读写大量数据所要求的速度和控制的关键组件,但是,诸如交调失真、过冲和下冲等影响常会降低互连的性能,并大大地耽误设计进程,甚至影响产品性能或推迟上市时间。 面对这一挑战,3M亚太公司的工程师们正将电子设计自动化(EDA)技术融入到整个设计周期当中,从而使HDD柔性互连在满足开发时间和成
[测试测量]
测量磁盘<font color='red'>驱动</font>器柔性电路的互连阻抗<font color='red'>测试</font>
24万公里耐久测试无压力 解析上汽通用新一代驱动系统
2019年对于通用别克品牌其实是有重要意义的一年,整体产品开启了新一轮的换代更新,不久前首款中大型SUV昂科旗的亮相更是标志着家族SUV的产品矩阵已经完善,从小型至大中型SUV都有产品能够提供给消费者选择,且全面引入搭载Smart Propulsion通用新一代驱动系统,其中包含着第八代Ecotec直喷涡轮增压系列发动机和9速HYDAR-MATIC变速箱以及全新CVT无级变速箱,使得产品力更加完善,这也宣告着和老对手大众可以开启新一轮的较量了。 造车不是简单将发动机和变速箱组装到一起就行了,一套成熟优秀的动力系统是需要协同配合的,被用到不同的车型上,用来满足平顺经济性或动力性的不同需求,而通用的这套Smart Propu
[汽车电子]
24万公里耐久<font color='red'>测试</font>无压力 解析上汽通用新一代<font color='red'>驱动</font>系统
用于测试仪表放大器的差分光隔离驱动
据说我们使用的一些电信号相对于地面“浮动”。一个典型的例子可能是电源中分流电阻上的压降或复杂的生物医学信号,例如心电图。在这种情况下,仪表放大器 (IA) 用于放大信号的差模分量并抑制其共模分量。 仪表放大器需要在设计过程中使用真实信号进行测试,并在实际使用时定期进行测试。还应通过将已知的校准测试信号应用于其输入来评估 IA,以确定其准确性、共模信号抑制以及它如何受到使用时可能发生的各种错误连接的影响。用于医疗 IA 的测试信号源应产生适当整形的信号U OUT,其幅度范围为几毫伏,频率范围从零到几 kHz。源应该有(两个)差分输出,可以连接到 IA 的相应输入,如图 1 所示。 图 1差分信号源 输出电阻 RG1 和 R
[测试测量]
S3C6410开发板按键驱动代码分析及测试代码分析
在本文中,我们对S3C6410开发板按键驱动代码的实现过程进行分析,然后通过一个实例对按键功能进行测试。在本文的资源中包含了设备驱动的源码和测试的源码。 一、设备驱动源码分析 按键的设备驱动主要实现了模块的初始化、模块的卸载、设备打开、设备关闭、设备读取、设备阻塞功能。 1、模块初始化 模块的初始化的源码如下所示。 static int __init dev_init(void) { int ret; ret = misc_register(&misc); printk (DEVICE_NAME tinitializedn ); return ret; } 这段代码只实现了一个功能,就是使用mi
[单片机]
最新TFT源驱动器的测试要求以及解决方法
图1是摘自日本“Nikkei Electronics”杂志的关于液晶TV的色解像度的发展历史的资料。据该资料,到2005年为止,所谓10位驱动器,12位驱动器的位数还不是驱动器的位数,而是指数据处理所达到的位数。到了2006年,真正的10位驱动器才正式登场。在2007年的高清电视(HDTV)的高端产品中,10位驱动器已经占领主导地位。10位以上的产品也陆续出现,比如,由横河电机公司的ST6730测试的就有日本厂商的13位和12位驱动器等等。 10位驱动器为什么能那么快地普及呢? 当然这跟人们的对高画质的追求也是分不开的。主要是10位驱动器的不断改进的结果。2006年以前的10位驱动器达到的画质和8位驱动器的相比,实质上没有多大
[测试测量]
Anritsu与dSPACE合作开发支持5G的虚拟测试驱动
Anritsu和dSPACE将共同展示集成在硬件在环(HIL)系统中的5G网络仿真器,以开发汽车连接应用程序。 在2020年世界移动通信大会期间,Anritsu展位将展示虚拟测试驱动器,测试车辆到基础设施(V2I)应用,从而进行流量优化和传感器数据共享。方案将通过智能基础设施以及真实的5G通信来模拟车辆和环境。 5G和边缘云的结合保证了高数据吞吐量和低延迟,它允许与车辆和基础设施共享原始传感器数据。这可以进一步实现协作感知,基于共享AI的人工智能或实时流量优化。如果没有合适的5G测试平台基础架构,相关应用程序的开发将面临挑战。 展示将Anritsu无线电通信测试站MT8000A,5G射频,功能和协议测试解决方案与dSACE Sca
[汽车电子]
LED照明测试技术分析——驱动电源可靠性和能效成关键
近几年LED作为新型节能光源在全球和中国都赢得得了很高的投资热情和极大关注,并由户外向室内照明应用市场渗透,中国也涌现出大大小小上万家LED照明企业。让LED照明大放异彩的最主要原因正是其宣扬的具有节能、环保、长寿命、易控制、免维护等特点。 然而颇具讽刺意味的是,我们常常听闻由于LED驱动电源本身的寿命直接拖累LED照明灯具变得并不“长寿”,极大地增加了维护/使用成本;或者驱动电源的效率不高导致LED照明灯具的能效转换比并不是想象中那么高,或者由于输出电流纹波没有得到很好的控制影响了发光品质,使得LED照明的绿色节能优势大打折扣,甚至影响了市场普及。 因此, LED产业链的完善和成熟,驱动电源也是其中重要的一环。但现状是LED驱动
[电源管理]
LED照明<font color='red'>测试</font>技术分析——<font color='red'>驱动</font>电源可靠性和能效成关键
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved