Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * KszNandTest.h
- *
- * Created on: 8 Aug 2012
- * Author: andy
- */
- #pragma once
- #include "gpio/GpioPort.h"
- #include "config/stdperiph.h"
- #include "timing/MillisecondTimer.h"
- using namespace stm32plus;
- struct KszNandTest {
- void run() {
- GpioPort pa(GPIOA), pb(GPIOB), pc(GPIOC), pd(GPIOD), pe(GPIOE);
- pa.initialise(GPIO_Speed_50MHz,GPIO_Mode_Out_PP,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_8);
- pb.initialise(GPIO_Speed_50MHz,GPIO_Mode_Out_PP,GPIO_Pin_8|GPIO_Pin_14|GPIO_Pin_12|GPIO_Pin_15|GPIO_Pin_13|GPIO_Pin_10|GPIO_Pin_1);
- pc.initialise(GPIO_Speed_50MHz,GPIO_Mode_Out_PP,GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);
- pd.initialise(GPIO_Speed_50MHz,GPIO_Mode_Out_PP,GPIO_Pin_3);
- pe.initialise(GPIO_Speed_50MHz,GPIO_Mode_Out_PP,GPIO_Pin_0|GPIO_Pin_4|GPIO_Pin_6);
- pe.initialise(GPIO_Speed_50MHz,GPIO_Mode_IPD,GPIO_Pin_2);
- Gpio *tree[19];
- tree[0]=&pb[8];
- tree[1]=&pb[14];
- tree[2]=&pb[12];
- tree[3]=&pb[15];
- tree[4]=&pb[13];
- tree[5]=&pc[6];
- tree[6]=&pa[8];
- tree[7]=&pb[10];
- tree[8]=&pa[0];
- tree[9]=&pc[7];
- tree[10]=&pb[1];
- tree[11]=&pe[0];
- tree[12]=&pc[5];
- tree[13]=&pa[3];
- tree[14]=&pa[1];
- tree[15]=&pc[3];
- tree[16]=&pc[1];
- tree[17]=&pe[6];
- tree[18]=&pe[4];
- reset(tree,pe[2],pd[3]);
- test(tree,pe[2]);
- }
- void test(Gpio **tree,Gpio& crs) {
- int i;
- bool results[19];
- for(i=0;i<19;i++)
- tree[i]->set();
- for(i=0;i<19;i++) {
- tree[i]->reset();
- results[i]=crs.read();
- }
- for(;;);
- }
- void reset(Gpio **tree,Gpio& crs,Gpio& resetPin) {
- resetPin.reset();
- tree[2]->set(); // RXD3
- tree[3]->reset(); // RXD2
- tree[4]->reset(); // RXD1
- tree[5]->set(); // RXD0
- tree[6]->reset(); // RXDV
- tree[7]->reset(); // RXC
- tree[8]->reset(); // RXER
- tree[9]->reset(); // INTRP (/NAND)
- tree[16]->set(); // LED0
- tree[17]->set(); // LED1
- tree[18]->reset(); // COL
- //crs.reset(); // CRS
- MillisecondTimer::delay(10);
- resetPin.set();
- MillisecondTimer::delay(10);
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement