CH376 51串口

#include "STC12C5A60AD.H"

#include

#define uchar unsigned char

#define uint unsigned int?

#define S2RI =0x01;

#define S2TI =0x02;

sbit ? buzzer ? ? ?= P3^7; ?

bit RX2_busy;

bit TX2_busy;

uchar Rxbuff2;

uchar a;

void ?PortInit(void)

{

? ? P1M1 ? ? = 0x07;

? ? P1M0 ? ? = 0x30;

? ? P1M0 ? ? =0x20;?

? ? P3M1 ? ? = 0x00;

? ? P3M0 ? ? = 0x84;

? ? P4M1 ? ? = 0x00;

? ? P4M0 ? ? = 0x08;

}

void UART_init(void)

{

?SCON = 0x50; ? ? ? ? ? ?//8-bit variable UART


? ? TMOD |= 0x20; ? ? ? ? ? ?//Set Timer1 as 8-bit auto reload mode

? ? TH1 = TL1 =-3;// -(FOSC/12/32/BAUD); //Set auto-reload vaule

? ? TR1 = 1; ? ? ? ? ? ? ? ?//Timer1 start run

? ? ES = 1; ? ? ? ? ? ? ? ? //Enable UART interrupt

? ? EA = 1; ? ? ? ? ? ? ? ?//Open master interrupt switch

}

void SendData2(uchar dat)

{

while(TX2_busy);?

TX2_busy=1;

//S2BUF = dat;

SBUF = dat;

}

void SendString2(char *s) ?

{

? while (*s) ? ? ? ? ? ??

? ? {

? ? ? ? SendData2(*s++); ? ??

? ? }

}

void ?DelayUS(unsigned int ?Time)

{

? ? unsigned char i;

? ? while(Time--)

? ? {

for(i=0;i<20;i++);?

}

}

void Uart_Isr() interrupt 4 using 1

{

if (RI)

? ? {

? ? ? RI = 0; ? ? ? ? ? ? //Clear receive interrupt flag

Rxbuff2=SBUF;

RX2_busy=0;

? ? }

? ? if (TI)

? ? {

? ? ? TI = 0; ? ? ? ? ? ? //Clear transmit interrupt flag

? ? ? TX2_busy = 0; ? ? ? ? ? //Clear transmit busy flag

? ? }

}


voidxWriteCH376Cmd(uchar Cmd)?

{

SendData2(0x57);

DelayUS(1000);

SendData2(0xAB);

DelayUS(1000);

SendData2(Cmd);

}

voidxWriteCH376Data(uchar mData)?

{

SendData2(mData);

}

void ?ce_shi_ming_ling(void)

{

xWriteCH376Cmd(0x06);

? xWriteCH376Data(0x55);

}

void ?U_pan_mo_shi(void)

{

xWriteCH376Cmd(0x15); ///////????U?ì?£ê?

xWriteCH376Data(0x06);

}

void U_pan_lian_jie(void)

{

xWriteCH376Cmd(0x30);

}

void U_pan_chu_shi(void)

{

xWriteCH376Cmd(0x31);

}

void set_file_name(void)

{

? ? ? ? ?xWriteCH376Cmd(0x2F);

? ? ? ? ?xWriteCH376Cmd(0x2F);

SendString2("CDE.TXT");

xWriteCH376Cmd(0x34);

DelayUS(1000);

Rxbuff2=0;

xWriteCH376Cmd(0x22); ?

}


void main()

{

UART_init();

PortInit();

buzzer=0;

while(1)

{

ce_shi_ming_ling();

U_pan_mo_shi();

U_pan_lian_jie();

U_pan_chu_shi();

set_file_name();


}

}

這是我的程序 ?測試返回值正常 但是無法在U盤中建立文件

有時候車上U盤是那個指示燈不亮 ?要重新掉電上電幾次才可以 ? 利用串口助手發(fā)這些指令返回值是正常的 但是無法建立文件


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频