#include "system.h" #include "gpio.h" #include "usart.h" #include "cdc_class.h" #include "mirror.h" /********************************************************************************* Sériový port na CH32V203F6P6 je příklad jak by z dokumentace člověka klepla pepka. Podle DS to má jen jeden sériový port, ale vývody USART1 nejsou nijak vyvedeny z pouzdra. Tak zkusíte USART2, a ejhle, ono to funguje. Pro testování USB v režimu device to bylo předěláno na převodník USB na RS485. Funguje nastavení baudové rychlosti, ostatní parametry jsou ignorovány a pevně na 8 bitů 1 stop, bez parity. USB má jen jedinou třídu CDC, původní zdroj je šíleně komplikovaný, takže je to zabaleno do knihovny libusbd.a, vnitřkem tedy celkem není nutné se zabývat. **********************************************************************************/ static GpioClass led (GPIOB, 8); static Usart serial (9600); static cdc_class cdc; static Mirror top; int main () { led << true; cdc.attach(serial); cdc.init (); top += cdc; top -= serial; for (;;) { Delay_Ms(100); led << false; Delay_Ms(100); led << true; } return 0; }