Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
5 years, 10 months ago.
How to use AnalogIn on PA_2,PA_3 with NUCLEO F446RE
Hi. I need to use AnalogIn on PA_2 and PA_3 with Nucleo F446RE. I wrote the code for use AnalogIn on PA_2 and PA_3 but it doesn't move.
Could you tell me how to use PA_2 and PA_3 with AnalogIn?
This is the code.
AnalogIn F446RE PA_2 PA_3
#include "mbed.h" // FROM DATA SHEET(STM32F446XX) // ADC123_IN0 PA_0 // ADC123_IN1 PA_1 // ADC123_IN2 PA_2 // ADC123_IN3 PA_3 // ADC123_IN4 PA_4 // ADC123_IN5 PA_5 // ADC123_IN6 PA_6 // ADC123_IN7 PA_7 // ADC123_IN8 PB_0 // ADC123_IN9 PB_1 // ADC123_IN10 PC_0 // ADC123_IN11 PC_1 // ADC123_IN12 PC_2 // ADC123_IN13 PC_3 // ADC123_IN14 PC_4 // ADC123_IN15 PC_5 AnalogIn AnalogINPUT00(PA_0); AnalogIn AnalogINPUT01(PA_1); AnalogIn AnalogINPUT02(PA_2);//# AnalogIn AnalogINPUT03(PA_3);//# AnalogIn AnalogINPUT04(PA_4); AnalogIn AnalogINPUT05(PA_5); AnalogIn AnalogINPUT06(PA_6); AnalogIn AnalogINPUT07(PA_7); AnalogIn AnalogINPUT08(PB_0); AnalogIn AnalogINPUT09(PB_1); AnalogIn AnalogINPUT10(PC_0); AnalogIn AnalogINPUT11(PC_1); AnalogIn AnalogINPUT12(PC_2); AnalogIn AnalogINPUT13(PC_3); AnalogIn AnalogINPUT14(PC_4); AnalogIn AnalogINPUT15(PC_5); PwmOut LEDS(D13);//led uint16_t AnalogValue[16]; void ReadAnalog(){ AnalogValue[0] = AnalogINPUT00.read_u16(); AnalogValue[1] = AnalogINPUT02.read_u16(); AnalogValue[2] = AnalogINPUT02.read_u16(); AnalogValue[3] = AnalogINPUT03.read_u16(); AnalogValue[4] = AnalogINPUT04.read_u16(); AnalogValue[5] = AnalogINPUT05.read_u16(); AnalogValue[6] = AnalogINPUT06.read_u16(); AnalogValue[7] = AnalogINPUT07.read_u16(); AnalogValue[8] = AnalogINPUT08.read_u16(); AnalogValue[9] = AnalogINPUT09.read_u16(); AnalogValue[10] = AnalogINPUT10.read_u16(); AnalogValue[11] = AnalogINPUT11.read_u16(); AnalogValue[12] = AnalogINPUT12.read_u16(); AnalogValue[13] = AnalogINPUT13.read_u16(); AnalogValue[14] = AnalogINPUT14.read_u16(); AnalogValue[15] = AnalogINPUT15.read_u16(); } void setup(){ LEDS.period_us(15);//LED for (float i = 0; i < 1; i = i + 0.025) { LEDS = i; wait_ms(10); } for (uint8_t i = 0; i < 2; i++) { LEDS = 1.0; wait_ms(100); LEDS = 0.0; wait_ms(100); } } /**************************************************************************************************/ int main() { setup(); while(1) { ReadAnalog(); LEDS = ! LEDS; } }
1 Answer
5 years, 10 months ago.
Hi Daiki,
The PA_2 and PA_3 pins are used for stdio messages which are enabled by default, please see:
You should be able to change the definitions on lines 181 and 186 and then observe valid values on those pins.
Regards,
Ralph, Team Mbed