| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #include "gd32e230.h"
- #include "SysTick.h"
- #include "breaker.h"
- #include "mb.h"
- #include "led.h"
- #include "time.h"
- #define MODBUS_ADDR 0x40
- #define MODBUS_BON 115200
- #define MAX_CHN 6
- int main(void)
- {
- SystemInit();
- InitSysTick();
- breaker_init();
-
- led_init();
- timer_14_init(999, 71);
- U8 id= breaker_read_id();
- U8 addr = MODBUS_ADDR + (id);
- eMBInit(MB_RTU,addr,0,MODBUS_BON,MB_PAR_NONE);
- eMBEnable();
- breaker_channels_t *channels = get_breakers();
- U8 k = 0;
- channels->channel[k] = addr << 8 | MAX_CHN;
- while(1)
- {
- eMBPoll();
- for(k = BREAKER_CHANNAL_1; k < BREAKER_CHANNAL_ERR;k++)
- {
- breaker_chn_read(&channels->channel[k],k);
- }
- led_flash(id);
- DelayNms(20);
- }
- }
|