void rfSendData(void) { uint8 pTxData[20]; uint8 ret; // Keep Receiver off when not needed to save power basicRfReceiveOff(); //sprintf(pTxData,"distince:%u CM.", uWaveDistance()); printf("goto while...\r\n"); // Main loop while (TRUE) { printf("in while...\r\n"); dht11_update(pTxData); printf("get data ok...\r\n"); ret = basicRfSendPacket(RECV_ADDR, pTxData, sizeof pTxData); if (ret == SUCCESS) { printf("send msg ok!!!\r\n"); hal_led_on(1); halMcuWaitMs(100); hal_led_off(1); halMcuWaitMs(900); } else { printf("send msg error!!!\r\n"); hal_led_on(1); halMcuWaitMs(1000); hal_led_off(1); } } }
void rfSendData(void) { uint8 pTxData[20] ={'l','i','y','a','n','f','e','n','g','v','5','8','7','a','b',0}; uint8 ret; uint8 recvCnt=0; uint8 ch=0; // Keep Receiver off when not needed to save power basicRfReceiveOff(); // Main loop while (TRUE) { recvCnt=0; ret = basicRfSendPacket(0xffff, pTxData, sizeof pTxData); //广播地址 if (ret == SUCCESS) { printf("send msg ok\r\n"); hal_led_on(1); halMcuWaitMs(100); hal_led_off(1); halMcuWaitMs(900); } else { printf("send msg error\r\n"); hal_led_on(1); halMcuWaitMs(1000); hal_led_off(1); } } }
__interrupt void T1_ISR(void) { ++counter; if(counter>myrate){ counter=0; dht11_update(); sprintf(pTsxData,"shidu:%utmp%u℃\r\n", gdat1, gdat2); //printf("sensor data....."); //printf(pTsxData); //printf("\r\n"); ret = basicRfSendPacket(0xffff, pTsxData, sizeof pTsxData); ledflashcounter=8; hal_led_on(1); /*if (ret == SUCCESS) { printf("send msg ok\r\n"); } else { printf("send msg error\r\n"); }*/ } if(ledflashcounter>0) { --ledflashcounter; if(ledflashcounter==0) { hal_led_off(1); } } T1IF=0; }
void hal_cpu_enable_irqs_and_sleep(void){ hal_led_off(); __enable_irq(); __asm__("wfe"); // go to sleep if event flag isn't set. if set, just clear it. IRQs set event flag // note: hal_uart_needed_during_sleep can be used to disable peripheral clock if it's not needed for a timer hal_led_on(); }
extern eOresult_t eo_theEMSdgn_checkEthLinksStatus_quickly(EOTheEMSdiagnostics_t* p, uint8_t *link1_isup, uint8_t *link2_isup) { // uint8_t PHYaddr = 0x1; // uint8_t REGaddr = 0x1; // uint16_t status_link; char str[50]; // #define LINK_IS_UP 0x00000004 uint8_t linkst_mask, links_num; static uint8_t link_st[2] = {0}; uint8_t state2notify = 0; if((NULL == p) || (NULL == link1_isup) || (NULL == link2_isup)) { return(eores_NOK_nullpointer); } hal_eth_check_links(&linkst_mask, &links_num); if((linkst_mask & 0x01) == 0x01) { *link1_isup = 1; if(link_st[0] == 0) { snprintf(str, sizeof(str)-1, "Link 0 down --> up (mask=%d)", linkst_mask); hal_trace_puts(str); link_st[0] = 1; state2notify = 1; } } else { hal_led_on(hal_led1); if(link_st[0] == 1) { snprintf(str, sizeof(str)-1, "Link 0 up --> down (mask=%d)", linkst_mask); hal_trace_puts(str); link_st[0] = 0; state2notify = 1; } } if((linkst_mask & 0x02) == 0x02) { *link2_isup = 1; if(link_st[1] == 0) { snprintf(str, sizeof(str)-1, "Link 1 down --> up (mask=%d)", linkst_mask); hal_trace_puts(str); link_st[1] = 1; state2notify = 1; } } else { hal_led_on(hal_led2); if(link_st[1] == 1) { snprintf(str, sizeof(str)-1, "Link 1 up --> down (mask=%d)", linkst_mask); hal_trace_puts(str); link_st[1] = 0; state2notify = 1; } } if(state2notify) { eo_dgn_emsperiph.eth_dev.linksmask = linkst_mask; eo_theEMSdgn_Signalerror(&s_thedgn, eodgn_nvidbdoor_emsperiph , 0); snprintf(str, sizeof(str)-1, "Signal error %d ", linkst_mask); hal_trace_puts(str); } // snprintf(str, sizeof(str)-1, "LINKs mask %d ", linkst_mask); // hal_trace_puts(str); // *link1_isup = 0; // *link2_isup = 0; // // status_link = hal_eth_smi_read(PHYaddr, REGaddr); // if(EO_COMMON_CHECK_FLAG(status_link, LINK_IS_UP)) // { // *link1_isup = 1; // snprintf(str, sizeof(str)-1, "LINK 1 is up!! %d", status_link); // hal_trace_puts(str); // } // // PHYaddr = 0x2; // status_link = hal_eth_smi_read(PHYaddr, REGaddr); // if(EO_COMMON_CHECK_FLAG(status_link, LINK_IS_UP)) // { // *link2_isup = 1; // snprintf(str, sizeof(str)-1, "LINK 2 is up!! %d", status_link); // hal_trace_puts(str); // } return(eores_OK); }