📄 cc1000.lst
字号:
356:cc1000.c **** else {
357:cc1000.c **** OSH_CLR_CC_PDATA_PIN();
784 .LM78:
785 03ac 0E94 0000 call OSH_CLR_CC_PDATA_PIN
786 .L28:
358:cc1000.c **** }
359:cc1000.c **** OSH_CLR_CC_PCLK_PIN();
788 .LM79:
789 03b0 0E94 0000 call OSH_CLR_CC_PCLK_PIN
360:cc1000.c **** OSH_SET_CC_PCLK_PIN();
791 .LM80:
792 03b4 0E94 0000 call OSH_SET_CC_PCLK_PIN
361:cc1000.c **** addr <<= 1;
794 .LM81:
795 03b8 CC0F lsl r28
797 .LM82:
798 03ba 1150 subi r17,lo8(-(-1))
799 03bc 17FF sbrs r17,7
800 03be F1CF rjmp .L29
362:cc1000.c **** }
363:cc1000.c **** OSH_SET_CC_PDATA_PIN();
802 .LM83:
803 03c0 0E94 0000 call OSH_SET_CC_PDATA_PIN
364:cc1000.c **** OSH_CLR_CC_PCLK_PIN();
805 .LM84:
806 03c4 0E94 0000 call OSH_CLR_CC_PCLK_PIN
365:cc1000.c **** OSH_SET_CC_PCLK_PIN();
808 .LM85:
809 03c8 0E94 0000 call OSH_SET_CC_PCLK_PIN
366:cc1000.c ****
367:cc1000.c **** OSH_SET_CC_PALE_PIN();
811 .LM86:
812 03cc 0E94 0000 call OSH_SET_CC_PALE_PIN
813 03d0 17E0 ldi r17,lo8(7)
814 .L35:
368:cc1000.c ****
369:cc1000.c **** for (cnt = 0; cnt < 8; cnt++)
370:cc1000.c **** {
371:cc1000.c **** if (data & 0x80) {
816 .LM87:
817 03d2 07FF sbrs r16,7
818 03d4 03C0 rjmp .L33
372:cc1000.c **** OSH_SET_CC_PDATA_PIN();
820 .LM88:
821 03d6 0E94 0000 call OSH_SET_CC_PDATA_PIN
822 03da 02C0 rjmp .L34
823 .L33:
373:cc1000.c **** }
374:cc1000.c **** else {
375:cc1000.c **** OSH_CLR_CC_PDATA_PIN();
825 .LM89:
826 03dc 0E94 0000 call OSH_CLR_CC_PDATA_PIN
827 .L34:
376:cc1000.c **** }
377:cc1000.c **** OSH_CLR_CC_PCLK_PIN();
829 .LM90:
830 03e0 0E94 0000 call OSH_CLR_CC_PCLK_PIN
378:cc1000.c **** OSH_SET_CC_PCLK_PIN();
832 .LM91:
833 03e4 0E94 0000 call OSH_SET_CC_PCLK_PIN
379:cc1000.c **** data <<= 1;
835 .LM92:
836 03e8 000F lsl r16
838 .LM93:
839 03ea 1150 subi r17,lo8(-(-1))
840 03ec 17FF sbrs r17,7
841 03ee F1CF rjmp .L35
380:cc1000.c **** }
381:cc1000.c **** OSH_SET_CC_PALE_PIN();
843 .LM94:
844 03f0 0E94 0000 call OSH_SET_CC_PALE_PIN
382:cc1000.c **** OSH_SET_CC_PDATA_PIN();
846 .LM95:
847 03f4 0E94 0000 call OSH_SET_CC_PDATA_PIN
383:cc1000.c **** OSH_SET_CC_PCLK_PIN();
849 .LM96:
850 03f8 0E94 0000 call OSH_SET_CC_PCLK_PIN
384:cc1000.c **** return SUCCESS;
385:cc1000.c **** }
852 .LM97:
853 03fc 81E0 ldi r24,lo8(1)
854 03fe 90E0 ldi r25,hi8(1)
855 /* epilogue: frame size=0 */
856 0400 CF91 pop r28
857 0402 1F91 pop r17
858 0404 0F91 pop r16
859 0406 0895 ret
860 /* epilogue end (size=4) */
861 /* function CC1000HPLWrite size 60 (53) */
865 .global CC1000ControlStdControlStop
867 CC1000ControlStdControlStop:
869 .LM98:
870 /* prologue: frame size=0 */
871 /* prologue end (size=0) */
873 .LM99:
874 0408 60E0 ldi r22,lo8(0)
875 040a 8BE0 ldi r24,lo8(11)
876 040c 0E94 0000 call CC1000HPLWrite
878 .LM100:
879 0410 6FE3 ldi r22,lo8(63)
880 0412 80E0 ldi r24,lo8(0)
881 0414 0E94 0000 call CC1000HPLWrite
883 .LM101:
884 0418 81E0 ldi r24,lo8(1)
885 041a 90E0 ldi r25,hi8(1)
886 /* epilogue: frame size=0 */
887 041c 0895 ret
888 /* epilogue end (size=1) */
889 /* function CC1000ControlStdControlStop size 11 (10) */
892 .global CC1000ControlRxMode
894 CC1000ControlRxMode:
896 .LM102:
897 /* prologue: frame size=0 */
898 /* prologue end (size=0) */
900 .LM103:
901 041e 61E1 ldi r22,lo8(17)
902 0420 80E0 ldi r24,lo8(0)
903 0422 0E94 0000 call CC1000HPLWrite
905 .LM104:
906 0426 6091 0000 lds r22,CC1000ControlM_gCurrentParameters+9
907 042a 89E0 ldi r24,lo8(9)
908 042c 0E94 0000 call CC1000HPLWrite
910 .LM105:
911 0430 60E0 ldi r22,lo8(0)
912 0432 8BE0 ldi r24,lo8(11)
913 0434 0E94 0000 call CC1000HPLWrite
915 .LM106:
916 0438 8AEF ldi r24,lo8(250)
917 043a 90E0 ldi r25,hi8(250)
918 043c 0E94 0000 call OSH_uwait
920 .LM107:
921 0440 81E0 ldi r24,lo8(1)
922 0442 90E0 ldi r25,hi8(1)
923 /* epilogue: frame size=0 */
924 0444 0895 ret
925 /* epilogue end (size=1) */
926 /* function CC1000ControlRxMode size 20 (19) */
929 .global CC1000ControlTxMode
931 CC1000ControlTxMode:
933 .LM108:
934 /* prologue: frame size=0 */
935 /* prologue end (size=0) */
937 .LM109:
938 0446 61EE ldi r22,lo8(-31)
939 0448 80E0 ldi r24,lo8(0)
940 044a 0E94 0000 call CC1000HPLWrite
942 .LM110:
943 044e 6091 0000 lds r22,CC1000ControlM_gCurrentParameters+29
944 0452 89E0 ldi r24,lo8(9)
945 0454 0E94 0000 call CC1000HPLWrite
947 .LM111:
948 0458 8AEF ldi r24,lo8(250)
949 045a 90E0 ldi r25,hi8(250)
950 045c 0E94 0000 call OSH_uwait
952 .LM112:
953 0460 6091 0000 lds r22,CC1000ControlM_gCurrentParameters+11
954 0464 8BE0 ldi r24,lo8(11)
955 0466 0E94 0000 call CC1000HPLWrite
957 .LM113:
958 046a 84E1 ldi r24,lo8(20)
959 046c 90E0 ldi r25,hi8(20)
960 046e 0E94 0000 call OSH_uwait
962 .LM114:
963 0472 81E0 ldi r24,lo8(1)
964 0474 90E0 ldi r25,hi8(1)
965 /* epilogue: frame size=0 */
966 0476 0895 ret
967 /* epilogue end (size=1) */
968 /* function CC1000ControlTxMode size 25 (24) */
971 .global CC1000ControlStdControlStart
973 CC1000ControlStdControlStart:
975 .LM115:
976 /* prologue: frame size=0 */
977 /* prologue end (size=0) */
979 .LM116:
980 0478 6BE3 ldi r22,lo8(59)
981 047a 80E0 ldi r24,lo8(0)
982 047c 0E94 0000 call CC1000HPLWrite
984 .LM117:
985 0480 80ED ldi r24,lo8(2000)
986 0482 97E0 ldi r25,hi8(2000)
987 0484 0E94 0000 call OSH_uwait
989 .LM118:
990 0488 81E0 ldi r24,lo8(1)
991 048a 90E0 ldi r25,hi8(1)
992 /* epilogue: frame size=0 */
993 048c 0895 ret
994 /* epilogue end (size=1) */
995 /* function CC1000ControlStdControlStart size 11 (10) */
998 .global CC1000ControlBIASOn
1000 CC1000ControlBIASOn:
1002 .LM119:
1003 /* prologue: frame size=0 */
1004 /* prologue end (size=0) */
1006 .LM120:
1007 048e 69E3 ldi r22,lo8(57)
1008 0490 80E0 ldi r24,lo8(0)
1009 0492 0E94 0000 call CC1000HPLWrite
1011 .LM121:
1012 0496 88EC ldi r24,lo8(200)
1013 0498 90E0 ldi r25,hi8(200)
1014 049a 0E94 0000 call OSH_uwait
1016 .LM122:
1017 049e 81E0 ldi r24,lo8(1)
1018 04a0 90E0 ldi r25,hi8(1)
1019 /* epilogue: frame size=0 */
1020 04a2 0895 ret
1021 /* epilogue end (size=1) */
1022 /* function CC1000ControlBIASOn size 11 (10) */
1025 .global CC1000ControlCC1000SetModem
1027 CC1000ControlCC1000SetModem:
1029 .LM123:
1030 /* prologue: frame size=0 */
1031 /* prologue end (size=0) */
1033 .LM124:
1034 04a4 6091 0000 lds r22,CC1000ControlM_gCurrentParameters+15
1035 04a8 8FE0 ldi r24,lo8(15)
1036 04aa 0E94 0000 call CC1000HPLWrite
1038 .LM125:
1039 04ae 6091 0000 lds r22,CC1000ControlM_gCurrentParameters+16
1040 04b2 80E1 ldi r24,lo8(16)
1041 04b4 0E94 0000 call CC1000HPLWrite
1043 .LM126:
1044 04b8 6091 0000 lds r22,CC1000ControlM_gCurrentParameters+17
1045 04bc 81E1 ldi r24,lo8(17)
1046 04be 0E94 0000 call CC1000HPLWrite
1047 /* epilogue: frame size=0 */
1048 04c2 0895 ret
1049 /* epilogue end (size=1) */
1050 /* function CC1000ControlCC1000SetModem size 16 (15) */
1054 .global CC1000ControlSelectLock
1056 CC1000ControlSelectLock:
1058 .LM127:
1059 /* prologue: frame size=0 */
1060 /* prologue end (size=0) */
1062 .LM128:
1063 04c4 8295 swap r24
1064 04c6 807F andi r24,0xf0
1065 04c8 8093 0000 sts CC1000ControlM_gCurrentParameters+13,r24
1067 .LM129:
1068 04cc 682F mov r22,r24
1069 04ce 8DE0 ldi r24,lo8(13)
1070 04d0 0E94 0000 call CC1000HPLWrite
1072 .LM130:
1073 04d4 9927 clr r25
1074 /* epilogue: frame size=0 */
1075 04d6 0895 ret
1076 /* epilogue end (size=1) */
1077 /* function CC1000ControlSelectLock size 10 (9) */
1081 .global CC1000HPLRead
1083 CC1000HPLRead:
386:cc1000.c ****
387:cc1000.c **** uint8_t CC1000HPLRead(uint8_t addr)
388:cc1000.c **** {
1085 .LM131:
1086 /* prologue: frame size=0 */
1087 04d8 0F93 push r16
1088 04da 1F93 push r17
1089 04dc CF93 push r28
1090 04de DF93 push r29
1091 /* prologue end (size=4) */
389:cc1000.c **** int cnt;
390:cc1000.c **** uint8_t din;
391:cc1000.c **** uint8_t data = 0;
1093 .LM132:
1094 04e0 00E0 ldi r16,lo8(0)
392:cc1000.c ****
393:cc1000.c **** addr <<= 1;
1096 .LM133:
1097 04e2 182F mov r17,r24
1098 04e4 110F lsl r17
394:cc1000.c **** OSH_CLR_CC_PALE_PIN();
1100 .LM134:
1101 04e6 0E94 0000 call OSH_CLR_CC_PALE_PIN
1102 04ea C6E0 ldi r28,lo8(6)
1103 04ec D0E0 ldi r29,hi8(6)
1104 .L53:
395:cc1000.c **** for (cnt = 0; cnt < 7; cnt++)
396:cc1000.c **** {
397:cc1000.c **** if (addr & 0x80) {
1106 .LM135:
1107 04ee 17FF sbrs r17,7
1108 04f0 03C0 rjmp .L51
398:cc1000.c **** OSH_SET_CC_PDATA_PIN();
1110 .LM136:
1111 04f2 0E94 0000 call OSH_SET_CC_PDATA_PIN
1112 04f6 02C0 rjmp .L52
1113 .L51:
399:cc1000.c **** }
400:cc1000.c **** else {
401:cc1000.c **** OSH_CLR_CC_PDATA_PIN();
1115 .LM137:
1116 04f8 0E94 0000 call OSH_CLR_CC_PDATA_PIN
1117 .L52:
402:cc1000.c **** }
403:cc1000.c **** OSH_CLR_CC_PCLK_PIN();
1119 .LM138:
1120 04fc 0E94 0000 call OSH_CLR_CC_PCLK_PIN
404:cc1000.c **** OSH_SET_CC_PCLK_PIN();
1122 .LM139:
1123 0500 0E94 0000 call OSH_SET_CC_PCLK_PIN
405:cc1000.c **** addr <<= 1;
1125 .LM140:
1126 0504 110F lsl r17
1128 .LM141:
1129 0506 2197 sbiw r28,1
1130 0508 D7FF sbrs r29,7
1131 050a F1CF rjmp .L53
1132 050c C7E0 ldi r28,lo8(7)
1133 050e D0E0 ldi r29,hi8(7)
406:cc1000.c **** }
407:cc1000.c **** OSH_CLR_CC_PDATA_PIN();
1135 .LM142:
1136 0510 0E94 0000 call OSH_CLR_CC_PDATA_PIN
408:cc1000.c **** OSH_CLR_CC_PCLK_PIN();
1138 .LM143:
1139 0514 0E94 0000 call OSH_CLR_CC_PCLK_PIN
409:cc1000.c **** OSH_SET_CC_PCLK_PIN();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -