Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
00001 #include "mbed.h" 00002 00003 #include "LAN9252.h" 00004 #include "LAN925X_SPI.h" 00005 00006 00007 //DigitalOut myled(LED1); 00008 Serial serial(USBTX, USBRX); 00009 00010 void UART_TX_Stringth(char S1[]) 00011 { 00012 serial.printf(S1); 00013 } 00014 00015 00016 int main() { 00017 uint32_t rdata; 00018 uint32_t rdata_buff[100]; 00019 int cnt=0; 00020 uint32_t wdata; 00021 char S1[100]; 00022 uint16_t addr=0; 00023 00024 serial.baud(115200); 00025 UART_TX_Stringth("================================================== \n\r"); 00026 UART_TX_Stringth(" EtherCAT TEST \n\r"); 00027 UART_TX_Stringth("================================================== \n\r"); 00028 00029 LAN925X_SPI_Init(); 00030 // RESET 00031 //LAN9252_RESET(); 00032 00033 addr = ID_REV; 00034 rdata = LAN925X_SPI_READ(addr); 00035 sprintf(S1,"ID_REV[0x%04X]: 0x%08lX \n\r",addr,rdata); 00036 UART_TX_Stringth(S1); 00037 00038 addr = BYTE_TEST; 00039 rdata = LAN925X_SPI_READ(addr); 00040 sprintf(S1,"BYTE_TEST[0x%04X]: 0x%08lX \n\r",addr,rdata); 00041 UART_TX_Stringth(S1); 00042 00043 addr = FREE_RUN; 00044 rdata = LAN925X_SPI_READ(addr); 00045 sprintf(S1,"FREE_RUN[0x%04X]: 0x%08lX \n\r",addr,rdata); 00046 UART_TX_Stringth(S1); 00047 00048 00049 addr = Type_Register; 00050 rdata = LAN9252_EtherCAT_CSR_READ(CSR_SIZE_32bit,addr); 00051 sprintf(S1,"Type_Register[0x%04X]: 0x%08lX \n\r",addr,rdata); 00052 UART_TX_Stringth(S1); 00053 00054 addr = Product_ID; 00055 rdata = LAN9252_EtherCAT_CSR_READ(CSR_SIZE_32bit,addr); 00056 sprintf(S1,"Product_ID[0x%04X]: 0x%08lX \n\r",addr,rdata); 00057 UART_TX_Stringth(S1); 00058 00059 addr = Vendor_ID; 00060 rdata = LAN9252_EtherCAT_CSR_READ(CSR_SIZE_32bit,addr); 00061 sprintf(S1,"Vendor_ID[0x%04X]: 0x%08lX \n\r",addr,rdata); 00062 UART_TX_Stringth(S1); 00063 00064 addr = Process_Data_RAM; 00065 rdata = LAN9252_EtherCAT_CSR_READ(CSR_SIZE_32bit,addr); 00066 sprintf(S1,"Process_Data_RAM[0x%04X]: 0x%08lX \n\r",addr,rdata); 00067 UART_TX_Stringth(S1); 00068 00069 addr = RUN_LED_Override; 00070 LAN9252_EtherCAT_CSR_WRITE(CSR_SIZE_32bit,addr,1<<4 | 0x0D); 00071 cnt=0; 00072 while(1); 00073 while(1) { 00074 addr = Process_Data_RAM; 00075 rdata = LAN9252_EtherCAT_CSR_READ(CSR_SIZE_32bit,addr); 00076 rdata_buff[cnt]=rdata; 00077 if(cnt==10) 00078 { 00079 for(int i=0;i<cnt;i++) 00080 { 00081 sprintf(S1,"Process_Data_RAM[0x%04X]: 0x%08lX \n\r",i,rdata_buff[i]); 00082 UART_TX_Stringth(S1); 00083 } 00084 cnt = 0; 00085 } 00086 else 00087 cnt++; 00088 //myled = 1; // LED is ON 00089 //wait(0.05); // 200 ms 00090 //myled = 0; // LED is OFF 00091 //wait(0.05); // 1 sec 00092 } 00093 } 00094
Generated on Fri Jul 15 2022 00:02:54 by
