📄 test.s43
字号:
NAME test(16)
RSEG CODE(1)
RSEG UDATA0(1)
EXTERN OSInit
EXTERN OSStart
EXTERN OSTaskCreate
EXTERN OSTimeDly
PUBLIC TaskStart
PUBLIC TaskStartStk
PUBLIC main
EXTERN ?CL430_1_26_L08
RSEG CODE
main:
; 1. /*
; 2. *********************************************************************************************************
; 3. * uC/OS-II
; 4. * The Real-Time Kernel
; 5. *
; 6. * (c) Copyright 2002, Micrium, Inc., Weston, FL
; 7. * All Rights Reserved
; 8. *
; 9. * TI MSP430
; 10. *********************************************************************************************************
; 11. */
; 12.
; 13. #include "includes.h"
; 14.
; 15. /*
; 16. *********************************************************************************************************
; 17. * CONSTANTS
; 18. *********************************************************************************************************
; 19. */
; 20.
; 21. #define TASK_STK_SIZE 64 /* Size of each task's stacks (# of OS_STK entries) */
; 22.
; 23. /*
; 24. *********************************************************************************************************
; 25. * VARIABLES
; 26. *********************************************************************************************************
; 27. */
; 28.
; 29. OS_STK TaskStartStk[TASK_STK_SIZE];
; 30.
; 31. /*
; 32. *********************************************************************************************************
; 33. * FUNCTION PROTOTYPES
; 34. *********************************************************************************************************
; 35. */
; 36.
; 37. void TaskStart(void *data); /* Function prototypes of Startup task */
; 38.
; 39. /*$PAGE*/
; 40. /*
; 41. *********************************************************************************************************
; 42. * MAIN
; 43. *********************************************************************************************************
; 44. */
; 45.
; 46. void main (void)
; 47. {
; 48. WDTCTL = WDTPW + WDTHOLD;
MOV #23168,&288
; 49.
; 50. OSInit(); /* Initialize uC/OS-II */
CALL #OSInit
; 51. OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0);
PUSH.B #0
PUSH #(TaskStartStk+126)
MOV #0,R14
MOV #TaskStart,R12
CALL #OSTaskCreate
ADD #4,SP
; 52. OSStart(); /* Start multitasking */
CALL #OSStart
; 53. }
RET
TaskStart:
; 54.
; 55. /*
; 56. *********************************************************************************************************
; 57. * STARTUP TASK
; 58. *********************************************************************************************************
; 59. */
; 60.
; 61. void TaskStart (void *pdata)
; 62. {
; 63. pdata = pdata; /* Prevent compiler warning */
; 64.
; 65. WDTCTL = WDT_MDLY_32; /* Set time tick 32 mS */
MOV #23064,&288
; 66. IE1 |= 0x01; /* Enable Watchdog timer interrupts */
BIS.B #1,&0
?0057:
; 67.
; 68. /* Application specific initialization */
; 69.
; 70. while (1) {
; 71. /* Task specific code */
; 72.
; 73. OSTimeDly(1);
MOV #1,R12
CALL #OSTimeDly
; 74. }
; 75. }
JMP (?0057)
RSEG UDATA0
TaskStartStk:
DS 128
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -