main.c 938 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include "hal.h"
  2. #include "nil.h"
  3. THD_WORKING_AREA(waBlinky, 128);
  4. THD_FUNCTION(blinky, arg)
  5. {
  6. (void)arg;
  7. for(;;)
  8. {
  9. palSetPad(GPIOH, GPIOH_LED1);
  10. chThdSleepMilliseconds(500);
  11. palClearPad(GPIOH, GPIOH_LED1);
  12. chThdSleepMilliseconds(500);
  13. }
  14. }
  15. THD_WORKING_AREA(waHello, 128);
  16. THD_FUNCTION(hello, arg)
  17. {
  18. (void)arg;
  19. palSetPadMode(GPIOC, GPIOC_USART3_TX, PAL_MODE_ALTERNATE(7));
  20. palSetPadMode(GPIOC, GPIOC_USART3_RX, PAL_MODE_ALTERNATE(7));
  21. sdStart(&SD3, NULL);
  22. for (;;)
  23. {
  24. chnWrite((BaseChannel*)&SD3, "Hello, World!\r\n", sizeof("Hello, World!\r\n"));
  25. chThdSleepMilliseconds(1000);
  26. }
  27. }
  28. THD_TABLE_BEGIN
  29. THD_TABLE_ENTRY(waBlinky, "blinky", blinky, NULL)
  30. THD_TABLE_ENTRY(waHello, "hello", hello, NULL)
  31. THD_TABLE_END
  32. int main(void)
  33. {
  34. halInit();
  35. chSysInit();
  36. for(;;)
  37. {
  38. }
  39. }