
stm32l010 serial 9600bps pa2 1
main.cpp@0:f89fcbc67075, 2021-05-06 (annotated)
- Committer:
- caa45040
- Date:
- Thu May 06 00:57:21 2021 +0000
- Revision:
- 0:f89fcbc67075
stm32l010 serial 9600bps 1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
caa45040 | 0:f89fcbc67075 | 1 | #include "mbed.h" |
caa45040 | 0:f89fcbc67075 | 2 | |
caa45040 | 0:f89fcbc67075 | 3 | //Serial pc(USBTX, USBRX); // tx, rx |
caa45040 | 0:f89fcbc67075 | 4 | //Serial pc(SERIAL_TX, SERIAL_RX); //767 |
caa45040 | 0:f89fcbc67075 | 5 | //Serial pc(PA_2, PA_3); //010 |
caa45040 | 0:f89fcbc67075 | 6 | //Serial pc(PA_9, PA_10); //010 |
caa45040 | 0:f89fcbc67075 | 7 | |
caa45040 | 0:f89fcbc67075 | 8 | //アナログ入力の設定 |
caa45040 | 0:f89fcbc67075 | 9 | //AnalogIn adc_vbat(A3); //PA_4 |
caa45040 | 0:f89fcbc67075 | 10 | |
caa45040 | 0:f89fcbc67075 | 11 | #define UART_DELAY 96 // 1/9600 |
caa45040 | 0:f89fcbc67075 | 12 | |
caa45040 | 0:f89fcbc67075 | 13 | //仮想シリアルの出力ポート |
caa45040 | 0:f89fcbc67075 | 14 | //DigitalOut TX(PA_9); |
caa45040 | 0:f89fcbc67075 | 15 | DigitalOut TX(PA_2); |
caa45040 | 0:f89fcbc67075 | 16 | |
caa45040 | 0:f89fcbc67075 | 17 | //仮想シリアルへの一文字出力 9600bps |
caa45040 | 0:f89fcbc67075 | 18 | int pc_putc(char ch) { |
caa45040 | 0:f89fcbc67075 | 19 | |
caa45040 | 0:f89fcbc67075 | 20 | TX=1; |
caa45040 | 0:f89fcbc67075 | 21 | TX=0;//START |
caa45040 | 0:f89fcbc67075 | 22 | wait_us(UART_DELAY); |
caa45040 | 0:f89fcbc67075 | 23 | |
caa45040 | 0:f89fcbc67075 | 24 | for(int ii=0;ii<8;ii++){ |
caa45040 | 0:f89fcbc67075 | 25 | TX=(ch>>ii)&1; |
caa45040 | 0:f89fcbc67075 | 26 | wait_us(UART_DELAY); |
caa45040 | 0:f89fcbc67075 | 27 | }; //for |
caa45040 | 0:f89fcbc67075 | 28 | |
caa45040 | 0:f89fcbc67075 | 29 | TX=1;//Stop |
caa45040 | 0:f89fcbc67075 | 30 | wait_us(UART_DELAY); |
caa45040 | 0:f89fcbc67075 | 31 | |
caa45040 | 0:f89fcbc67075 | 32 | return(0); |
caa45040 | 0:f89fcbc67075 | 33 | |
caa45040 | 0:f89fcbc67075 | 34 | } //pc_putc |
caa45040 | 0:f89fcbc67075 | 35 | |
caa45040 | 0:f89fcbc67075 | 36 | |
caa45040 | 0:f89fcbc67075 | 37 | int main() { |
caa45040 | 0:f89fcbc67075 | 38 | |
caa45040 | 0:f89fcbc67075 | 39 | //ポートをhiにする 初期化 |
caa45040 | 0:f89fcbc67075 | 40 | TX=1; |
caa45040 | 0:f89fcbc67075 | 41 | |
caa45040 | 0:f89fcbc67075 | 42 | //adcの読み込み 0から4096 |
caa45040 | 0:f89fcbc67075 | 43 | //int s = (adc_vbat.read_u16()>>4); |
caa45040 | 0:f89fcbc67075 | 44 | |
caa45040 | 0:f89fcbc67075 | 45 | char *ss1; //文字のポインター |
caa45040 | 0:f89fcbc67075 | 46 | int ii; //ループカウンター |
caa45040 | 0:f89fcbc67075 | 47 | |
caa45040 | 0:f89fcbc67075 | 48 | //無限ループ |
caa45040 | 0:f89fcbc67075 | 49 | while(1) { |
caa45040 | 0:f89fcbc67075 | 50 | |
caa45040 | 0:f89fcbc67075 | 51 | ss1="Hello World !\r\n"; |
caa45040 | 0:f89fcbc67075 | 52 | ii=0; //ループカウンター |
caa45040 | 0:f89fcbc67075 | 53 | while(ss1[ii]!=0){ |
caa45040 | 0:f89fcbc67075 | 54 | |
caa45040 | 0:f89fcbc67075 | 55 | //一文字出力 |
caa45040 | 0:f89fcbc67075 | 56 | pc_putc(ss1[ii]);ii++; |
caa45040 | 0:f89fcbc67075 | 57 | |
caa45040 | 0:f89fcbc67075 | 58 | } //while |
caa45040 | 0:f89fcbc67075 | 59 | |
caa45040 | 0:f89fcbc67075 | 60 | //1秒の待ち |
caa45040 | 0:f89fcbc67075 | 61 | wait_ms(1000); |
caa45040 | 0:f89fcbc67075 | 62 | |
caa45040 | 0:f89fcbc67075 | 63 | } //while |
caa45040 | 0:f89fcbc67075 | 64 | |
caa45040 | 0:f89fcbc67075 | 65 | } //main |
caa45040 | 0:f89fcbc67075 | 66 | |
caa45040 | 0:f89fcbc67075 | 67 | //容量削減 |
caa45040 | 0:f89fcbc67075 | 68 | void error(const char* format, ...){} |