|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include "platform/porting.h"
|
|
|
|
#include "drivers/dac101c085.h"
|
|
|
|
#include "platform/ext_interrupt.h"
|
|
|
|
|
|
|
|
#pragma GCC diagnostic push
|
|
|
|
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
|
|
|
#pragma GCC diagnostic ignored "-Wmissing-declarations"
|
|
|
|
#pragma GCC diagnostic ignored "-Wreturn-type"
|
|
|
|
|
|
|
|
static char* args_task_3= "task 3";
|
|
|
|
|
|
|
|
void task3(void* ptr)
|
|
|
|
{
|
|
|
|
static uint32_t wakeup = 0;
|
|
|
|
static int cnt = 0;
|
|
|
|
char* args = (char*)ptr;
|
|
|
|
wakeup = osSchedulerGetSysT();
|
|
|
|
if (cnt*10 >= 1023) {
|
|
|
|
cnt = 0;
|
|
|
|
} else {
|
|
|
|
cnt += 10;
|
|
|
|
}
|
|
|
|
osPrintf("Writing DAC: %d\n\r", cnt*10);
|
|
|
|
setDAC(cnt*10);
|
|
|
|
uint16_t dac_val = readDAC();
|
|
|
|
osPrintf("Reading DAC: %d\n\r", dac_val);
|
|
|
|
osPrintf("This is %s\n\r", args);
|
|
|
|
osTaskDelayUntil(wakeup, MS_2_TICKS(1000));
|
|
|
|
}
|
|
|
|
|
|
|
|
int main(int argc, char* argv[])
|
|
|
|
{
|
|
|
|
char args[] = "number 3";
|
|
|
|
initClock();
|
|
|
|
initAliveLED();
|
|
|
|
usart2Init();
|
|
|
|
RCC_ClocksTypeDef RCC_Clocks;
|
|
|
|
RCC_GetClocksFreq (&RCC_Clocks);
|
|
|
|
osPrintf("System Core Clock: %d\n\r", SystemCoreClock);
|
|
|
|
osPrintf("HCLK: %d\n\r", RCC_Clocks.HCLK_Frequency);
|
|
|
|
initExtInt();
|
|
|
|
//osTaskCreate(*task3, "task 3", args, 1, NULL);
|
|
|
|
while (1);
|
|
|
|
// Infinite loop, never return.
|
|
|
|
}
|
|
|
|
|
|
|
|
#pragma GCC diagnostic pop
|