diff --git a/examples/blink/.vscode/launch.json b/examples/blink/.vscode/launch.json new file mode 100644 index 0000000000000000000000000000000000000000..daf0b515adfa0bbf74d743499abafb8cb48dab64 --- /dev/null +++ b/examples/blink/.vscode/launch.json @@ -0,0 +1,25 @@ +{ + "configurations": [ + { + "name": "GDB debug - custom", + "type": "cppdbg", + "request": "launch", + "program": "blink.elf", + "args": [], + "stopAtEntry": true, + "cwd": "${workspaceFolder}", + "environment": [], + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ], + "miDebuggerPath": "/usr/bin/gdb-multiarch", + "miDebuggerServerAddress": "127.0.0.1:2000" + } + ] +} diff --git a/examples/blink/.vscode/settings.json b/examples/blink/.vscode/settings.json new file mode 100644 index 0000000000000000000000000000000000000000..79b30b8432213edaa2ffffd7b366b7cb61bf8240 --- /dev/null +++ b/examples/blink/.vscode/settings.json @@ -0,0 +1,12 @@ +{ + "cmake.configureOnOpen": false, + "makefile.launchConfigurations": [ + { + "cwd": "/home/cnlohr/git/ch32v003fun/examples/blink", + "sbinaryPath": "/home/cnlohr/git/ch32v003fun/examples/blink/blink.elf", + "binaryArgs": [] + } + ], + "editor.insertSpaces": false, + "editor.tabSize": 4 +} diff --git a/examples/blink/blink.bin b/examples/blink/blink.bin index f50ebcf3c6cb395659920e025e28b1f9b82cb9d9..cd9973989add95d2e43f0ad61d045a2bd32d14e3 100755 Binary files a/examples/blink/blink.bin and b/examples/blink/blink.bin differ diff --git a/examples/blink/blink.c b/examples/blink/blink.c index 24b767ddff037dda9d667588adeaaebec0f696d0..4646259b1352778b1a5985f335614ab3e91e477d 100644 --- a/examples/blink/blink.c +++ b/examples/blink/blink.c @@ -6,7 +6,8 @@ #define APB_CLOCK SYSTEM_CORE_CLOCK -uint32_t count; +volatile uint32_t count; + int main() { SystemInit48HSI(); @@ -26,8 +27,6 @@ int main() GPIOC->CFGLR &= ~(0xf<<(4*0)); GPIOC->CFGLR |= (GPIO_Speed_10MHz | GPIO_CNF_OUT_PP)<<(4*0); - count = &count; - while(1) { GPIOD->BSHR = 1 | (1<<4); // Turn on GPIOs @@ -35,8 +34,9 @@ int main() Delay_Ms( 250 ); GPIOD->BSHR = (1<<16) | (1<<(16+4)); // Turn off GPIODs GPIOC->BSHR = (1<<16); - Delay_Ms( 250 ); + Delay_Ms( count ); count++; + if( count > 250 ) count = 0; } }