📄 main.lss
字号:
/*---Ham Establish SPP Connection---*/
void Create_SPP_Link(unsigned char *bd_addr,unsigned char local_port, unsigned char remote_port)
{
32c: dc 01 movw r26, r24
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
32e: 5d 9b sbis 0x0b, 5 ; 11
330: fe cf rjmp .-4 ; 0x32e <Create_SPP_Link+0x2>
/*Dua du lieu ra cong USART*/
UDR=data;
332: 82 e0 ldi r24, 0x02 ; 2
334: 8c b9 out 0x0c, r24 ; 12
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
336: 5d 9b sbis 0x0b, 5 ; 11
338: fe cf rjmp .-4 ; 0x336 <Create_SPP_Link+0xa>
/*Dua du lieu ra cong USART*/
UDR=data;
33a: 82 e5 ldi r24, 0x52 ; 82
33c: 8c b9 out 0x0c, r24 ; 12
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
33e: 5d 9b sbis 0x0b, 5 ; 11
340: fe cf rjmp .-4 ; 0x33e <Create_SPP_Link+0x12>
/*Dua du lieu ra cong USART*/
UDR=data;
342: 8a e0 ldi r24, 0x0A ; 10
344: 8c b9 out 0x0c, r24 ; 12
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
346: 5d 9b sbis 0x0b, 5 ; 11
348: fe cf rjmp .-4 ; 0x346 <Create_SPP_Link+0x1a>
/*Dua du lieu ra cong USART*/
UDR=data;
34a: 88 e0 ldi r24, 0x08 ; 8
34c: 8c b9 out 0x0c, r24 ; 12
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
34e: 5d 9b sbis 0x0b, 5 ; 11
350: fe cf rjmp .-4 ; 0x34e <Create_SPP_Link+0x22>
/*Dua du lieu ra cong USART*/
UDR=data;
352: 1c b8 out 0x0c, r1 ; 12
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
354: 5d 9b sbis 0x0b, 5 ; 11
356: fe cf rjmp .-4 ; 0x354 <Create_SPP_Link+0x28>
/*Dua du lieu ra cong USART*/
UDR=data;
358: 84 e6 ldi r24, 0x64 ; 100
35a: 8c b9 out 0x0c, r24 ; 12
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
35c: 5d 9b sbis 0x0b, 5 ; 11
35e: fe cf rjmp .-4 ; 0x35c <Create_SPP_Link+0x30>
/*Dua du lieu ra cong USART*/
UDR=data;
360: 6c b9 out 0x0c, r22 ; 12
362: 20 e0 ldi r18, 0x00 ; 0
364: 30 e0 ldi r19, 0x00 ; 0
Send_Byte_To_UART(0x00);
Send_Byte_To_UART(0x64); //Check Sum
Send_Byte_To_UART(local_port);
for(int i=0; i<=5; i++)
Send_Byte_To_UART(bd_addr[i]);
366: fd 01 movw r30, r26
368: e2 0f add r30, r18
36a: f3 1f adc r31, r19
36c: e0 81 ld r30, Z
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
36e: 5d 9b sbis 0x0b, 5 ; 11
370: fe cf rjmp .-4 ; 0x36e <Create_SPP_Link+0x42>
/*Dua du lieu ra cong USART*/
UDR=data;
372: ec b9 out 0x0c, r30 ; 12
Send_Byte_To_UART(0x08); //Data Length=0x0008
Send_Byte_To_UART(0x00);
Send_Byte_To_UART(0x64); //Check Sum
Send_Byte_To_UART(local_port);
for(int i=0; i<=5; i++)
374: 2f 5f subi r18, 0xFF ; 255
376: 3f 4f sbci r19, 0xFF ; 255
378: 26 30 cpi r18, 0x06 ; 6
37a: 31 05 cpc r19, r1
37c: a1 f7 brne .-24 ; 0x366 <Create_SPP_Link+0x3a>
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
37e: 5d 9b sbis 0x0b, 5 ; 11
380: fe cf rjmp .-4 ; 0x37e <Create_SPP_Link+0x52>
/*Dua du lieu ra cong USART*/
UDR=data;
382: 4c b9 out 0x0c, r20 ; 12
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
384: 5d 9b sbis 0x0b, 5 ; 11
386: fe cf rjmp .-4 ; 0x384 <Create_SPP_Link+0x58>
/*Dua du lieu ra cong USART*/
UDR=data;
388: 83 e0 ldi r24, 0x03 ; 3
38a: 8c b9 out 0x0c, r24 ; 12
Send_Byte_To_UART(bd_addr[i]);
Send_Byte_To_UART(remote_port);
Send_Byte_To_UART(ETX);
}
38c: 08 95 ret
0000038e <SPP_Link_Confirm>:
//-----------------------------------------------------------------------------------------------
/*---Ham Create SPP Link Confirm---*/
unsigned char SPP_Link_Confirm(unsigned char *local_port)
{
38e: fc 01 movw r30, r24
*local_port = Receive_Cmd[7];
390: 80 91 67 00 lds r24, 0x0067
394: 80 83 st Z, r24
if (Receive_Cmd[6]=ERROR_OK){return TRUE;}
396: 10 92 66 00 sts 0x0066, r1
else {return FALSE;}
}
39a: 80 e0 ldi r24, 0x00 ; 0
39c: 08 95 ret
0000039e <SPP_Link_Indication>:
//-----------------------------------------------------------------------------------------------
/*---Ham Establish SPP Link Indication---*/
unsigned char SPP_Link_Indication(unsigned char *remote_addr, unsigned char *local_port, unsigned char *remote_port)
{
39e: cf 93 push r28
3a0: df 93 push r29
3a2: eb 01 movw r28, r22
3a4: e7 e6 ldi r30, 0x67 ; 103
3a6: f0 e0 ldi r31, 0x00 ; 0
3a8: dc 01 movw r26, r24
for(int i=0; i<=5;i++)
remote_addr[i]=Receive_Cmd[7+i];
3aa: 81 91 ld r24, Z+
3ac: 8d 93 st X+, r24
}
//-----------------------------------------------------------------------------------------------
/*---Ham Establish SPP Link Indication---*/
unsigned char SPP_Link_Indication(unsigned char *remote_addr, unsigned char *local_port, unsigned char *remote_port)
{
for(int i=0; i<=5;i++)
3ae: 80 e0 ldi r24, 0x00 ; 0
3b0: ed 36 cpi r30, 0x6D ; 109
3b2: f8 07 cpc r31, r24
3b4: d1 f7 brne .-12 ; 0x3aa <SPP_Link_Indication+0xc>
remote_addr[i]=Receive_Cmd[7+i];
*local_port = Receive_Cmd[13];
3b6: 80 81 ld r24, Z
3b8: 88 83 st Y, r24
*remote_port = Receive_Cmd[14];
3ba: 81 81 ldd r24, Z+1 ; 0x01
3bc: fa 01 movw r30, r20
3be: 80 83 st Z, r24
3c0: 90 e0 ldi r25, 0x00 ; 0
3c2: 80 91 66 00 lds r24, 0x0066
3c6: 88 23 and r24, r24
3c8: 09 f4 brne .+2 ; 0x3cc <SPP_Link_Indication+0x2e>
3ca: 91 e0 ldi r25, 0x01 ; 1
if(Receive_Cmd[6]==ERROR_OK) return TRUE;
else return FALSE;
}
3cc: 89 2f mov r24, r25
3ce: df 91 pop r29
3d0: cf 91 pop r28
3d2: 08 95 ret
000003d4 <Send_Data_To_Remote>:
//-----------------------------------------------------------------------------------------------
/*---Ham Send Data o che do Master Command Mode----*/
void Send_Data_To_Remote(unsigned char local_port,unsigned char data_length,char *data)
{
3d4: 98 2f mov r25, r24
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
3d6: 5d 9b sbis 0x0b, 5 ; 11
3d8: fe cf rjmp .-4 ; 0x3d6 <Send_Data_To_Remote+0x2>
/*Dua du lieu ra cong USART*/
UDR=data;
3da: 82 e0 ldi r24, 0x02 ; 2
3dc: 8c b9 out 0x0c, r24 ; 12
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
3de: 5d 9b sbis 0x0b, 5 ; 11
3e0: fe cf rjmp .-4 ; 0x3de <Send_Data_To_Remote+0xa>
/*Dua du lieu ra cong USART*/
UDR=data;
3e2: 82 e5 ldi r24, 0x52 ; 82
3e4: 8c b9 out 0x0c, r24 ; 12
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
3e6: 5d 9b sbis 0x0b, 5 ; 11
3e8: fe cf rjmp .-4 ; 0x3e6 <Send_Data_To_Remote+0x12>
/*Dua du lieu ra cong USART*/
UDR=data;
3ea: 8f e0 ldi r24, 0x0F ; 15
3ec: 8c b9 out 0x0c, r24 ; 12
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
3ee: 5d 9b sbis 0x0b, 5 ; 11
3f0: fe cf rjmp .-4 ; 0x3ee <Send_Data_To_Remote+0x1a>
Send_Byte_To_UART(STX); //Start
Send_Byte_To_UART(REQ); //Packet Type
Send_Byte_To_UART(SPP_SEND_DATA); //OPCODE
Send_Byte_To_UART(data_length+3); //2 byte payload length
3f2: 6d 5f subi r22, 0xFD ; 253
/*Dua du lieu ra cong USART*/
UDR=data;
3f4: 6c b9 out 0x0c, r22 ; 12
3f6: 63 50 subi r22, 0x03 ; 3
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
3f8: 5d 9b sbis 0x0b, 5 ; 11
3fa: fe cf rjmp .-4 ; 0x3f8 <Send_Data_To_Remote+0x24>
/*Dua du lieu ra cong USART*/
UDR=data;
3fc: 1c b8 out 0x0c, r1 ; 12
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
3fe: 5d 9b sbis 0x0b, 5 ; 11
400: fe cf rjmp .-4 ; 0x3fe <Send_Data_To_Remote+0x2a>
Send_Byte_To_UART(0x00);
Send_Byte_To_UART(0x64+data_length); //Check Sum
402: 6c 59 subi r22, 0x9C ; 156
/*Dua du lieu ra cong USART*/
UDR=data;
404: 6c b9 out 0x0c, r22 ; 12
406: 64 56 subi r22, 0x64 ; 100
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
408: 5d 9b sbis 0x0b, 5 ; 11
40a: fe cf rjmp .-4 ; 0x408 <Send_Data_To_Remote+0x34>
/*Dua du lieu ra cong USART*/
UDR=data;
40c: 9c b9 out 0x0c, r25 ; 12
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
40e: 5d 9b sbis 0x0b, 5 ; 11
410: fe cf rjmp .-4 ; 0x40e <Send_Data_To_Remote+0x3a>
/*Dua du lieu ra cong USART*/
UDR=data;
412: 6c b9 out 0x0c, r22 ; 12
/*----Gui 1 byte du lieu qua cong USART----*/
/*--------------------------------------------*/
void Send_Byte_To_UART(char data )
{
/*Doi cho den khi UDRE=1,san sang de truyen du lieu */
while ( !( UCSRA & (1<<UDRE)) );
414: 5d 9b sbis 0x0b, 5 ; 11
416: fe cf rjmp .-4 ; 0x414 <Send_Data_To_Remote+0x40>
/*Dua du lieu ra cong USART*/
UDR=data;
418: 1c b8 out 0x0c, r1 ; 12
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -