📄 main.c
字号:
#pragma sfr
#pragma ei
#pragma di
#include "system.h"
#include "time.h"
#include "ipod_procotol.txt"
#ifndef UINT8 unsigned char
#define UINT8 unsigned char
#endif
/*********************************************************************
**********************************************************************/
void delay10xtms(UINT8 t)
{
unsigned char j,k;
for(;t>0;t--)
for(j=78;j>0;j--)//100*(96+3.5)=100*99.5us=9900.5 us=9.9ms
for(k=32;k>0;k--);//32*3=96us
}/*8M 一个机器周期1.5us*/
/********************************************************************
********************************************************************/
extern unsigned int time_count;
UINT8 SerialReceive[40]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
/******************************************************************
******************************************************************/
void main(void)
{
Clock_Init();
init_UART();
EI();
UART_SendChar(0xff);//identify
delay10xtms(2);//20ms
UART_SendChar(0x55);
UART_SendChar(0x03);
UART_SendChar(0x00);
UART_SendChar(0x01);
UART_SendChar(0x02);
UART_SendChar(0xFA);
delay10xtms(2);
delay10xtms(2);
/******************************************************************/
UART_SendChar(0xff);/*play/pause*/
delay10xtms(2);//20ms
UART_SendChar(0x55);
UART_SendChar(0x03);
UART_SendChar(0x02);
UART_SendChar(0x00);
UART_SendChar(0x01);
UART_SendChar(0xFA);
delay10xtms(2);//20ms
delay10xtms(2);//20ms
UART_SendChar(0xff);//relese bution
delay10xtms(2);//20ms
UART_SendChar(0x55);
UART_SendChar(0x03);
UART_SendChar(0x02);
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0xFb);
delay10xtms(2);
delay10xtms(2);
/***********************************************************************/
UART_SendChar(0xff);/*AiR Mode*/
delay10xtms(2);//20ms
UART_SendChar(0x55);
UART_SendChar(0x03);
UART_SendChar(0x00);//lingo ID general
UART_SendChar(0x01);//command ID
UART_SendChar(0x04);//command data
UART_SendChar(0xF8);
delay10xtms(2);//20ms
delay10xtms(2);//20ms
/***********************************************************************/
UART_SendChar(0xff);/*ResetDBselect*/
delay10xtms(2);//20ms
UART_SendChar(0x55);
UART_SendChar(0x03);
UART_SendChar(0x04);
UART_SendChar(0x00);
UART_SendChar(0x16);
UART_SendChar(0xe3);
delay10xtms(2);//20ms
delay10xtms(2);//20ms
/***********************************************************************/
UART_SendChar(0xff);/*GetnumberCategorizedDBrecorde*/
delay10xtms(2);//20ms
UART_SendChar(0x55);
UART_SendChar(0x04);
UART_SendChar(0x04);
UART_SendChar(0x00);
UART_SendChar(0x18);
UART_SendChar(0x02);//Artist
UART_SendChar(0xde);
delay10xtms(2);//20ms
delay10xtms(2);//20ms
/***********************************************************************/
UART_SendChar(0xff);/*RetrieveCategorizedDBrecorde*/
delay10xtms(2);//20ms
UART_SendChar(0x55);
UART_SendChar(0x0c);
UART_SendChar(0x04);
UART_SendChar(0x00);
UART_SendChar(0x1a);
UART_SendChar(0x02);//Artist
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x0a);
UART_SendChar(0xca);
delay10xtms(2);//20ms
delay10xtms(2);//20ms
/***********************************************************************/
UART_SendChar(0xff);/*SelectDBrecorde*/
delay10xtms(2);//20ms
UART_SendChar(0x55);
UART_SendChar(0x08);
UART_SendChar(0x04);
UART_SendChar(0x00);
UART_SendChar(0x17);
UART_SendChar(0x02);//Artist
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x0a);
UART_SendChar(0xd1);
delay10xtms(2);//20ms
delay10xtms(2);//20ms
/***********************************************************************/
UART_SendChar(0xff);/*GetnumberCategorizedDBrecorde*/
delay10xtms(2);//20ms
UART_SendChar(0x55);
UART_SendChar(0x04);
UART_SendChar(0x04);
UART_SendChar(0x00);
UART_SendChar(0x18);
UART_SendChar(0x05);//track
UART_SendChar(0xdb);
delay10xtms(2);//20ms
delay10xtms(2);//20ms
/***********************************************************************/
UART_SendChar(0xff);/*RetrieveCategorizedDBrecorde*/
delay10xtms(2);//20ms
UART_SendChar(0x55);
UART_SendChar(0x0c);
UART_SendChar(0x04);
UART_SendChar(0x00);
UART_SendChar(0x1a);
UART_SendChar(0x05);//track
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x02);
UART_SendChar(0xcf);
delay10xtms(2);//20ms
delay10xtms(2);//20ms
/***********************************************************************/
UART_SendChar(0xff);/*playcurrentselect*/
delay10xtms(2);//20ms
UART_SendChar(0x55);
UART_SendChar(0x07);
UART_SendChar(0x04);
UART_SendChar(0x00);
UART_SendChar(0x28);
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x01);
UART_SendChar(0xcc);
delay10xtms(2);//20ms
delay10xtms(2);//20ms
/***********************************************************************/
UART_SendChar(0xff);/*getindexedplayingtracktitle*/
delay10xtms(2);//20ms
UART_SendChar(0x55);
UART_SendChar(0x07);
UART_SendChar(0x04);
UART_SendChar(0x00);
UART_SendChar(0x20);
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x00);
UART_SendChar(0x01);
UART_SendChar(0xd4);
delay10xtms(2);//20ms
delay10xtms(2);//20ms
while(1)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -