Hack STM32F405 on the PHS Shield

Dependencies:   mbed

MCU_SWD

123456
SWCLKGNDSWDIORESETJTDO

MCU_UART

12345
RXTXGND
Committer:
phsfan
Date:
Mon May 11 15:15:44 2015 +0000
Revision:
0:90cbfc14fcb7
1st build;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
phsfan 0:90cbfc14fcb7 1 /*
phsfan 0:90cbfc14fcb7 2 * select: Nucleo F401RE
phsfan 0:90cbfc14fcb7 3 */
phsfan 0:90cbfc14fcb7 4 #include "mbed.h"
phsfan 0:90cbfc14fcb7 5
phsfan 0:90cbfc14fcb7 6 Serial pc(PB_6, PB_7);
phsfan 0:90cbfc14fcb7 7
phsfan 0:90cbfc14fcb7 8 Serial phs(PA_2, PA_3);
phsfan 0:90cbfc14fcb7 9 DigitalOut rts(PA_1);
phsfan 0:90cbfc14fcb7 10 DigitalIn cts(PA_0);
phsfan 0:90cbfc14fcb7 11
phsfan 0:90cbfc14fcb7 12 DigitalOut led1(PC_6), led2(PC_7);
phsfan 0:90cbfc14fcb7 13 DigitalOut pwr1(PC_9);
phsfan 0:90cbfc14fcb7 14 DigitalIn pwr2(PA_8);
phsfan 0:90cbfc14fcb7 15
phsfan 0:90cbfc14fcb7 16
phsfan 0:90cbfc14fcb7 17 int main() {
phsfan 0:90cbfc14fcb7 18 pc.baud(115200);
phsfan 0:90cbfc14fcb7 19 phs.baud(120000);
phsfan 0:90cbfc14fcb7 20 pwr1 = 0; // DCDC enable
phsfan 0:90cbfc14fcb7 21 pwr2.mode(PullUp);
phsfan 0:90cbfc14fcb7 22 GPIOB->MODER = (GPIOB->MODER & ~(3<<22)) | (1<<22); // PB_11 output
phsfan 0:90cbfc14fcb7 23 GPIOB->OTYPER = (1<<11); // open drain
phsfan 0:90cbfc14fcb7 24 GPIOB->ODR &= ~(1<<11); // reser=0
phsfan 0:90cbfc14fcb7 25 // phs.set_flow_control(Serial::RTSCTS, PA_1, PA_0);
phsfan 0:90cbfc14fcb7 26 cts.mode(PullUp);
phsfan 0:90cbfc14fcb7 27 rts = 0;
phsfan 0:90cbfc14fcb7 28 wait_ms(100);
phsfan 0:90cbfc14fcb7 29 GPIOB->MODER &= ~(3<<22); // PB_11 input
phsfan 0:90cbfc14fcb7 30 GPIOB->PUPDR = (GPIOB->MODER & ~(3<<22)) | (1<<22); // pullup
phsfan 0:90cbfc14fcb7 31
phsfan 0:90cbfc14fcb7 32 pc.printf("*** PHSShield STM32F405\r\n");
phsfan 0:90cbfc14fcb7 33
phsfan 0:90cbfc14fcb7 34 for (;;) {
phsfan 0:90cbfc14fcb7 35 if (phs.readable()) {
phsfan 0:90cbfc14fcb7 36 pc.putc(phs.getc());
phsfan 0:90cbfc14fcb7 37 }
phsfan 0:90cbfc14fcb7 38 if (pc.readable()) {
phsfan 0:90cbfc14fcb7 39 phs.putc(pc.getc());
phsfan 0:90cbfc14fcb7 40 }
phsfan 0:90cbfc14fcb7 41 led2 = cts;
phsfan 0:90cbfc14fcb7 42 }
phsfan 0:90cbfc14fcb7 43 }