diff --git a/_embdemo/hello-esp32/main.go b/_embdemo/hello-esp32/main.go new file mode 100644 index 00000000..9b36080c --- /dev/null +++ b/_embdemo/hello-esp32/main.go @@ -0,0 +1,16 @@ +package main + +import "github.com/goplus/lib/c" + +func myprint(s *c.Char) { + for i := 0; i < int(c.Strlen(s)); i++ { + WriteByte(byte(c.Index(s, i))) + } +} + +func main() { + for { + myprint(c.Str("hello world")) + sleep(1) + } +} diff --git a/_embdemo/hello-esp32/uart.go b/_embdemo/hello-esp32/uart.go new file mode 100644 index 00000000..1cd3a5ab --- /dev/null +++ b/_embdemo/hello-esp32/uart.go @@ -0,0 +1,13 @@ +package main + +import ( + _ "unsafe" + + "github.com/goplus/lib/c" +) + +//go:linkname WriteByte C.board_uart_write_char +func WriteByte(b byte) + +//go:linkname sleep sleep +func sleep(c c.Int) diff --git a/_embdemo/hello/main.go b/_embdemo/hello/main.go deleted file mode 100644 index 3cf6a208..00000000 --- a/_embdemo/hello/main.go +++ /dev/null @@ -1,11 +0,0 @@ -package main - -func myprint(s string) { - for i := 0; i < len(s); i++ { - WriteByte(s[i]) - } -} - -func main() { - myprint("hello world") -} diff --git a/_embdemo/hello/uart.go b/_embdemo/hello/uart.go deleted file mode 100644 index 682443fb..00000000 --- a/_embdemo/hello/uart.go +++ /dev/null @@ -1,4 +0,0 @@ -package main - -//go:linkname WriteByte C.board_uart_write_char -func WriteByte(b byte) diff --git a/_embdemo/write-esp32/main.go b/_embdemo/write-esp32/main.go new file mode 100644 index 00000000..dd59a86c --- /dev/null +++ b/_embdemo/write-esp32/main.go @@ -0,0 +1,12 @@ +package main + +import "github.com/goplus/lib/c" + +func main() { + buf := c.Malloc(6) + c.Memset(buf, 0, 6) + c.Strncpy((*c.Char)(buf), c.Str("abcde"), 5) + + write(1, (*c.Char)(buf), 5) + +}