#include <hidef.h> /* common defines and macros */ #include "API_BD8379.h" void delay_ns(INT32U time) { INT32U i; for(i = 0; i < time; i++) { asm NOP; _FEED_COP(); //wdt_reset(); } } void DB8379_Init(void) { DB8379_OE_P = 0; DB8379_RST_P = 0; delay_ns(30); DB8379_RST_P = 1; } /*----------����BD8379оƬ�� data0��data1��data2�ֱ�Ϊ��һ���ڶ����͵�����оƬ����-------------*/ /*-----------------------------------------------------------------------------------------------*/ void DB8379_WriteData(INT32U data0, INT32U data1) { INT8U i = 0; INT8U num = 0; INT32U tmp[3]; INT32U mask = 0x80000000; tmp[0] = data1; tmp[1] = data0; DB8379_SIN_P = 0; DB8379_CLK_P = 0; DB8379_LE_P = 0; for(num = 0; num < 2; num++) { for(i = 0; i < 12; i++) //�ߵ�12λ��Ҫ��һ�� { if(tmp[num] & mask) DB8379_SIN_P = 1; else DB8379_SIN_P = 0; delay_ns(8); DB8379_CLK_P = 1; delay_ns(28); DB8379_CLK_P = 0; mask >>= 1; } mask = 0x80000000; } DB8379_LE_P = 1; delay_ns(14); DB8379_LE_P = 0; }