diff --git a/demos/various/SB-CLIENT-32k-08070000-16k-20018000/main.c b/demos/various/SB-CLIENT-32k-08070000-16k-20018000/main.c index 094c8f62f..889641d66 100644 --- a/demos/various/SB-CLIENT-32k-08070000-16k-20018000/main.c +++ b/demos/various/SB-CLIENT-32k-08070000-16k-20018000/main.c @@ -46,6 +46,11 @@ int main(void) { halInit(); chSysInit(); + /* + * Activates the Serial or SIO driver using the default configuration. + */ + sioStart(&SIOD1, NULL); + /* Creating a blinker thread.*/ chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO+10, Thread1, NULL); diff --git a/os/sb/vio/sbvio_uart.c b/os/sb/vio/sbvio_uart.c index 25f9a9a1e..66167f6cf 100644 --- a/os/sb/vio/sbvio_uart.c +++ b/os/sb/vio/sbvio_uart.c @@ -60,10 +60,10 @@ static void vuart_cb(SIODriver *siop) { void sb_api_vio_uart(struct port_extctx *ectxp) { sb_class_t *sbp = (sb_class_t *)chThdGetSelfX()->ctx.syscall.p; + uint32_t sub = ectxp->r0; + uint32_t unit = ectxp->r1; ectxp->r0 = (uint32_t)CH_RET_INNER_ERROR; ectxp->r1 = (uint32_t)0; - uint32_t sub = ectxp->r0; - uint32_t unit = ectxp->r1; const vio_uart_unit_t *unitp; if (unit >= sbp->config->vioconf->uarts->n) {