STM32L010のソフトウェアシリアルでHello Worldと出力 9600bps TX PA2 STM32
目的
つくれそうだから作ってみた。
通信がづれる時はUART_DELAYの値を1足したり1引いたりして調整してね
x mbedのリビジョンは、125
参考
STM32F303K8 & mbedでSoftwareSerialを実装する 【TX編】
https://qiita.com/YuseiIto/items/ddc15a77fd7b57ffa757
忙しい人よう
https://os.mbed.com/users/caa45040/code/serial_test_010_2/
#include "mbed.h"
//Serial pc(USBTX, USBRX); // tx, rx
//Serial pc(SERIAL_TX, SERIAL_RX); //767
//Serial pc(PA_2, PA_3); //010
//Serial pc(PA_9, PA_10); //010
//アナログ入力の設定
//AnalogIn adc_vbat(A3); //PA_4
#define UART_DELAY 96 // 1/9600
//仮想シリアルの出力ポート
//DigitalOut TX(PA_9);
DigitalOut TX(PA_2);
//仮想シリアルへの一文字出力 9600bps
int pc_putc(char ch) {
TX=1;
TX=0;//START
wait_us(UART_DELAY);
for(int ii=0;ii<8;ii++){
TX=(ch>>ii)&1;
wait_us(UART_DELAY);
}; //for
TX=1;//Stop
wait_us(UART_DELAY);
return(0);
} //pc_putc
int main() {
//ポートをhiにする 初期化
TX=1;
//adcの読み込み 0から4096
//int s = (adc_vbat.read_u16()>>4);
char *ss1; //文字のポインター
int ii; //ループカウンター
//無限ループ
while(1) {
ss1="Hello World !\r\n";
ii=0; //ループカウンター
while(ss1[ii]!=0){
//一文字出力
pc_putc(ss1[ii]);ii++;
} //while
//1秒の待ち
wait_ms(1000);
} //while
} //main
//容量削減
void error(const char* format, ...){}
Author And Source
この問題について(STM32L010のソフトウェアシリアルでHello Worldと出力 9600bps TX PA2 STM32), 我々は、より多くの情報をここで見つけました https://qiita.com/caa45040/items/aa19dba04945f95c2674著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .