目的
出来そうだから作ってみた
とりあえず1200bps そのまま動いた ウエートと832us
# define DW digitalWrite
//104 9600
//208 4800
//416 2400
//832 1200
# define UART_DELAY 832 // 1/9600
//#define UART_DELAY 96 // 1/9600
//#define swdclk PA14 // 8pin
//#define swdio PA13 // 7pin
# define swdclk PA12 // 6pin
# define swdio PA11 // 5pin
//#define t_led1 PA12 // 6pin
//#define t_led2 PA11 // 5pin
# define en PA0 // 4pin
# define in7 PB7 // 1pin
//仮想シリアルへの一文字出力 9600bps
int pc_putc(char ch) {
DW(in7, HIGH);
DW(in7, LOW);//START
delayMicroseconds(UART_DELAY);
for(int ii=0;ii<8;ii++){
DW(in7, (ch>>ii)&1 );
delayMicroseconds(UART_DELAY);
}//for
DW(in7, HIGH);//Stop
delayMicroseconds(UART_DELAY);
return(0);
}//pc_putc
void setup() {
//仮想シリアルの出力ポート
//ポートをhiにする 初期化
pinMode(in7, OUTPUT);
DW(in7, HIGH);
}//setup
char *ss1; //文字のポインター
int ii; //ループカウンター
//無限ループ
void loop() {
ss1="Hello World !\r\n";
ii=0; //ループカウンター
while(ss1[ii]!=0){
//一文字出力
pc_putc(ss1[ii]);ii++;
} //while
//1秒の待ち
delay(1000);
}//loop
1200bps