いろいろなテクニック.Nucleo と DISCO-F746 用.

Dependencies:   Array_Matrix mbed

Revision:
1:bbb9f0c3e523
Parent:
0:bb939e0bc6e2
--- a/PeripheralAddress.hpp	Sun Oct 15 11:41:48 2017 +0000
+++ b/PeripheralAddress.hpp	Wed Apr 10 06:32:33 2019 +0000
@@ -2,9 +2,10 @@
 //  mbed で定義されているピンの名前に対応するペリフェラルのアドレスを取得
 //      SPI, TIM, GPIO, ADC の場合
 //
-//  修正:mbed rev.153 用に修正 2017/10/14
+//  2017/10/14 修正:mbed rev.153 用に修正
+//  2019/04/10 Mbed rev.172 でも問題ないことを確認
 //
-//  2016/12/06, Copyright (c) 2016 MIKAMI, Naoki
+//  2019/04/10, Copyright (c) 2019 MIKAMI, Naoki
 //-----------------------------------------------------------------
 //      デバイスは PeripheralPins.h の中で以下のように定義されている
 /*
@@ -91,7 +92,15 @@
 {
 #if defined(STM32F4)
     AddressSPI x1(D4, NC);
-    printf("SPI,  D4:    0x%08X\r\n", x1.GetAddress());
+    printf("SPI1/3, D4:    0x%08X\r\n", x1.GetAddress());
+    printf("上の表示されるアドレスは SPI1 のもの\r\n");
+    printf("SPI,    D4:    0x%08X\r\n", pinmap_peripheral(D4, PinMap_SPI_MOSI));
+
+    // 次の printf() 文のように機能がピン名と異なる場合(D4 は MISO ではない),実行時エラーが
+    // ターミナルに表示され,プログラムが終了する
+    //printf("SPI3,  D4:    0x%08X\r\n", pinmap_peripheral(D4, PinMap_SPI_MISO));
+    SPI mySpi(D4, NC, D3);
+    printf("    GPIOB->AFR[0]: 0x%08X\r\n", GPIOB->AFR[0]);
 #endif  // STM32F4
 
 //#ifdef __STM32F746xx_H
@@ -104,15 +113,15 @@
 #endif  // STM32F7
     
     AddressTIM x2(D12);
-    printf("PWM,  D12:   0x%08X\r\n", x2.GetAddress());
-    printf("PWM,  D8:    0x%08X\r\n", pinmap_peripheral(D8, PinMap_PWM));
+    printf("PWM3,   D12:   0x%08X\r\n", x2.GetAddress());
+    printf("PWM1,   D8:    0x%08X\r\n", pinmap_peripheral(D8, PinMap_PWM));
 
     AddressDigitalOut x3(D6);
-    printf("GPIO, D6:    0x%08X\r\n", x3.GetAddress());
+    printf("GPIOB,  D6:    0x%08X\r\n", x3.GetAddress());
 
     PinName adc = A0;
     ADCName addresAdc = (ADCName)pinmap_peripheral(adc, PinMap_ADC);
-    printf("ADC,  A0:    0x%08X\r\n", addresAdc);
-    printf("ADC,  A1:    0x%08X\r\n", pinmap_peripheral(A1, PinMap_ADC));
-    printf("ADC,  A2:    0x%08X\r\n", pinmap_peripheral(A2, PinMap_ADC));
+    printf("ADC,   A0:    0x%08X\r\n", addresAdc);
+    printf("ADC,   A1:    0x%08X\r\n", pinmap_peripheral(A1, PinMap_ADC));
+    printf("ADC,   A2:    0x%08X\r\n", pinmap_peripheral(A2, PinMap_ADC));
 }