⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mcu.c

📁 display port接受芯片ANX9813的驱动代码。MCU使用LPC936FDH,内部包含AN9813寄存器设置
💻 C
字号:
//  *******************************************//  *******************************************#include <stdio.h>#include <stdarg.h>#include "i2c_intf.h"#include "uart_int.h"#include "timer.h"#include "mcu.h"#include "DP_RX_DRV.h"bit EX_EN;bit sendRQ;bit enable_debug_output;char test;PUTCHAR_TYPE putchar(char c){    if (!enable_debug_output)        return c;    EA = 0;    if (c == '\n') {        SBUF = 0x0d;        while (!TI);        TI = 0;    }    SBUF = c;    while (!TI);    TI = 0;    EA = 1;    return c;//	stdout_port = c;}void debug_puts(char *s){    if (enable_debug_output)    	{    	 	BP_DIR =1;         	puts(s);		BP_DIR =0;    	}}void SendToPCOneByte(uchar dat){	EA = 0;	BP_DIR =1;	SBUF=dat;	while(!TI);	TI=0;	BP_DIR =0;	EA = 1;}//n=1,发送回车符号void SendToPCSomeByte(uchar *dat,uchar j,uchar n){	uchar i=0;	EA = 0;	BP_DIR =1;	for(i=0;i<j;i++)	{		TI=0;		SBUF=(*dat);				// start sending one byte		while (!TI);				// wait until sent		TI=0;		dat++;	}	if(n==1)	{		TI=0;		SBUF=0x0a;				// start sending one byte		while (!TI);				// wait until sent		TI=0;		dat++;	}	BP_DIR =0;	EA = 1;}/*void debug_printf(char *s, ...){    if (enable_debug_output) {        va_list v;        va_start(v, s);        vprintf(s, v);    }}*/void delay_half_ms(void){    unsigned char i;    for(i = 0; i < 240; i ++)//delay about 0.5 ~ 1 ms        ;}void InitMCU () 	{	P0M1 = 0x00;        // (00001110)push pull except RX       P0M2 = 0x00;        // (11000000)   	P1M1 = 0x00;        //(00101100)push pull except RX	P1M2 = 0x00;    	P2M1 = 0x00;    	// (01011000)push pull   0x58  0x20    	P2M2 = 0x00;        // (00100000)  0xff  05.10.17//00		 /pull_p23    	P3M1 = 0x03;    	  // (00000011)push pull  06.06.17    	P3M2 = 0x00;        // (00000000)06.06.17           DP_RX_HPD_DET = 0;	init_serial(BAUD38400);	init_timer(TINTVAL_8MS);	start_timer();	i2c_init();       EX_EN = 0;       EX1 = 0;	ES=1;	EA = 1;		// enable all interrupt	DP_RX_HPD(0);	sendRQ=0;}void DP_RX_HW_Reset(void){    DP_Rx_HW_RESET = 0;    delay_ms(10);    DP_Rx_HW_RESET = 1;    delay_ms(10);}void DP_RX_HPD(unsigned char high_low){    if(high_low)    {        DP_RX_HPD_DET = 1;        //debug_puts("Set HPD high");    }    else    {        DP_RX_HPD_DET = 0;        //debug_puts("Set HPD low");    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -