📄 ex1.c
字号:
//
// example 1: single task
// descriptions: port B low byte: connect to 8 LEDs
// Program run to turn on LEDs one by one,control signal output from port B.
// author: Taiyun Wang
// date: 2003/2/22
///////////////////////////////////////////////////////////////////////////
#include "sposvar.h"
#include "spos.h"
int err; //err No
int t1stack[25]; //Task stack
volatile unsigned int *P_IOB_BUFFER =(unsigned int*)(0x7006); //Port B data register
volatile unsigned int *P_IOB_DIR =(unsigned int*)(0x7007); //Port B direction register
volatile unsigned int *P_IOB_ATTRIB = (unsigned int*)(0x7008); //Port B attribute register
main()
{
void Task1();
SpSInit(); //initialize OS kernel
*P_IOB_DIR = 0XFFFF; //Set Prot B is output
*P_IOB_ATTRIB = 0XFFFF; //Set prot B attribute
err = SpSTaskCreate(Task1,0,t1stack+24,1); //Create a task
SpSStart(); //Start kernel
}
void Task1() //task one
{
unsigned int i = 1;
unsigned int k = 5;
while(1) {
*P_IOB_BUFFER = i;
i<<=1;
k = k % 3;
if(i == 0x0100)
i = 1;
SpSTimeDly(20); //Delay 20 tick
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -