New Contiki port to STM32W108.
This commit is contained in:
parent
324796cd1a
commit
ec5e3ce0d7
130 changed files with 43157 additions and 0 deletions
67
cpu/stm32w108/dev/uart1-putchar.c
Normal file
67
cpu/stm32w108/dev/uart1-putchar.c
Normal file
|
@ -0,0 +1,67 @@
|
|||
#include <stdio.h>
|
||||
#include "dev/uart1.h"
|
||||
|
||||
|
||||
#include PLATFORM_HEADER
|
||||
#include "hal/micro/micro-common.h"
|
||||
#include "hal/micro/cortexm3/micro-common.h"
|
||||
//#include "uart.h"
|
||||
|
||||
#ifdef __GNUC__
|
||||
# define _LLIO_STDIN ((int) stdin)
|
||||
# define _LLIO_STDOUT ((int) stdout)
|
||||
# define _LLIO_STDERR ((int) stderr)
|
||||
# define _LLIO_ERROR (-1)
|
||||
#else
|
||||
# ifdef __ICCARM__
|
||||
# include <yfuns.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
void __io_putchar(char c)
|
||||
{
|
||||
uart1_writeb(c);
|
||||
}
|
||||
|
||||
#undef putchar
|
||||
|
||||
int putchar(int c)
|
||||
{
|
||||
__io_putchar((char) c);
|
||||
return c;
|
||||
}
|
||||
|
||||
size_t _write(int handle, const unsigned char * buffer, size_t size)
|
||||
{
|
||||
size_t nChars = 0;
|
||||
|
||||
if (handle != _LLIO_STDOUT && handle != _LLIO_STDERR) {
|
||||
return _LLIO_ERROR;
|
||||
}
|
||||
|
||||
if (buffer == 0) {
|
||||
// This means that we should flush internal buffers.
|
||||
//spin until TX complete (TX is idle)
|
||||
while ((SC1_UARTSTAT&SC_UARTTXIDLE)!=SC_UARTTXIDLE) {}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// ensure port is configured for UART
|
||||
if(SC1_MODE != SC1_MODE_UART) {
|
||||
return _LLIO_ERROR;
|
||||
}
|
||||
|
||||
while(size--) {
|
||||
__io_putchar(*buffer++);
|
||||
++nChars;
|
||||
}
|
||||
|
||||
return nChars;
|
||||
}
|
||||
|
||||
|
||||
size_t _read(int handle, unsigned char * buffer, size_t size)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue