いろいろなテクニック.Nucleo と DISCO-F746 用.
Dependencies: Array_Matrix mbed
Diff: PeripheralAddress.hpp
- 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)); }