ikivela wrote on Thursday, December 03, 2009:
Okay
Here is some code to check out…
int main( void )
{
// Initialise stack and hardware interfaces.
// Start the scheduler.
vTaskStartScheduler();
return 0;
}
void vLCD1(void *pvParameters)
{
int flag = 0;
vJPI_DioSetDirection(0, E_JPI_DIO11_INT);
vJPI_DioSetPullup(!E_JPI_DIO11_INT, E_JPI_DIO11_INT);
for (;
{
if (flag)
{
flag-;
vJPI_DioSetOutput(E_JPI_DIO11_INT,0);
}
else
{
flag++;
vJPI_DioSetOutput(0,E_JPI_DIO11_INT);
}
vTaskDelay(1000/portTICK_RATE_MS);
}
}
void vLCD2(void *pvParameters)
{
int flag = 0;
vJPI_DioSetDirection(0, E_JPI_DIO12_INT);
vJPI_DioSetPullup(!E_JPI_DIO12_INT, E_JPI_DIO12_INT);
for (;
{
if (flag)
{
flag-;
vJPI_DioSetOutput(E_JPI_DIO12_INT,0);
}
else
{
flag++;
vJPI_DioSetOutput(0,E_JPI_DIO12_INT);
}
vTaskDelay(2000/portTICK_RATE_MS);
}
}
void AppColdStart( void )
{
u32AppQApiInit( 0, 0, 0 );
u32AHI_Init();
vInitUart(E_AHI_UART_0);
vPrintString(E_AHI_UART_0, “Coldstart”);
sMacAddr = *(MAC_ExtAddr_s *)pvAppApiGetMacAddrLocation();
vInitRadio();
xTaskCreate(vLCD1,(signed portCHAR *)&“LCD 1”, configMINIMAL_STACK_SIZE, NULL, 2, NULL);
xTaskCreate(vLCD2,(signed portCHAR *)&“LCD 2”, configMINIMAL_STACK_SIZE, NULL, 2, NULL);
main();
}
void AppWarmStart( void )
{
u32AHI_Init();
vInitUart(E_AHI_UART_0);
vAppApiRestoreMacSettings();
vPrintString(E_AHI_UART_0, “Warmstart”);
//xTaskResumeAll(); taskEXIT_CRITICAL();
xTaskResumeScheduler();
//main();
while(1);
}
void vSyncSleep(uint32 u32st) // sleep time in milliseconds
{
uint32 u32calib;
//vAHI_MemoryHold(TRUE);
vAppApiSaveMacSettings(); // save the MAC settings
vAHI_WakeTimerEnable(E_AHI_WAKE_TIMER_0, TRUE);
u32calib = u32AHI_WakeTimerCalibrate();
vAHI_WakeTimerStart(E_AHI_WAKE_TIMER_0, 320000/u32calib*u32st); //(10000/u32WTCalib)*32000*5);
vAHI_Sleep(E_AHI_SLEEP_OSCON_RAMON);
}