123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260 |
- #include "main.h"
- #include "bsp_fatfs.h"
- void DumpHEX(uint8_t *buffer, uint32_t len)
- {
- uint32_t i;
- printf("[DumpHEX]Length:%d ", len);
- for (i = 0; i < len; i++)
- {
- if (i % 16 == 0)
- printf("\r\n");
- else if (i % 8 == 0)
- printf(" ");
- else
- printf(":");
- printf("%02x", buffer[i]);
- }
- printf("\r\n");
- }
- int main(void)
- {
- #if 0
-
- *(unsigned int *)(0x40023800 + 0x30) |= (1 << 8);
-
- *(unsigned int *)(0x40022000 + 0x00) &= ~((0x03) << (2 * 10));
- *(unsigned int *)(0x40022000 + 0x00) |= (1 << (2 * 10));
-
- *(unsigned int *)(0x40022000 + 0x14) |= (1 << 10);
-
- *(unsigned int *)(0x40022000 + 0x14) &= ~(1 << 10);
- #elif 0
- bsp_init();
- while (1)
- {
- GPIO_ResetBits(GPIOI, GPIO_Pin_10);
- Delay(0xFFFFFFFF);
-
-
- GPIO_ResetBits(GPIOF, GPIO_Pin_7);
- Delay(0xFFFFFF);
-
-
- GPIO_ResetBits(GPIOF, GPIO_Pin_8);
- Delay(0xFFFFFF);
-
-
- GPIO_ResetBits(GPIOC, GPIO_Pin_2);
- Delay(0xFFFFFF);
-
-
- };
- #elif 1
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
- OSInit();
- bsp_init();
- RegisterIec10x();
-
-
- OSTaskCreateExt(init_task,
- (void *)0,
- (OS_STK *)&init_task_stk[INIT_STK_SIZE - 1],
- INIT_TASK_PRIO,
- INIT_TASK_PRIO,
- (OS_STK *)&init_task_stk[0],
- INIT_STK_SIZE,
- (void *)0,
- OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
- OSStart();
- #endif
- }
- void init_task(void *pvParameters)
- {
- SysTick_Config(SystemCoreClock / OS_TICKS_PER_SEC);
-
- NVIC_SetPriority(SysTick_IRQn, 0x00U);
- OSTaskCreateExt((void (*)(void *))misc_task,
- (void *)0,
- (OS_STK *)&misc_task_stk[MISC_TASK_STK_SIZE - 1],
- (INT8U)MISC_PRIO,
- (INT16U)MISC_PRIO,
- (OS_STK *)&misc_task_stk[0],
- (INT32U)MISC_TASK_STK_SIZE,
- (void *)0,
- (INT16U)OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR | OS_TASK_OPT_SAVE_FP);
-
-
-
-
-
-
-
-
-
-
- OSTaskCreateExt((void (*)(void *))modbus_slave_task,
- (void *)0,
- (OS_STK *)&uart3_task_stk[UART3_TASK_STK_SIZE - 1],
- (INT8U)UART3_TASK_PRIO,
- (INT16U)UART3_TASK_PRIO,
- (OS_STK *)&uart3_task_stk[0],
- (INT32U)UART3_TASK_STK_SIZE,
- (void *)0,
- (INT16U)OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR | OS_TASK_OPT_SAVE_FP);
- OSTaskCreateExt((void (*)(void *))net_task,
- (void *)0,
- (OS_STK *)&net_task_stk[NET_TASK_STK_SIZE - 1],
- (INT8U)NET_PRIO,
- (INT16U)NET_PRIO,
- (OS_STK *)&net_task_stk[0],
- (INT32U)NET_TASK_STK_SIZE,
- (void *)0,
- (INT16U)OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR | OS_TASK_OPT_SAVE_FP);
-
-
-
-
-
-
-
-
-
-
- }
- void misc_task(void)
- {
- INT8U cnt = 0;
- INT16U save_cnt = 0;
- INT8U temperature;
- INT8U humidity;
- INT8U ret;
- INT8U key_state;
- AD7606_SetOS(AD_OS_NO);
- AD7606_SetInputRange(0);
-
- AD7606_ReadNowAdc();
- AD7606_StartConvst();
- while (1)
- {
- iwdg_feed(MISC_DOG);
- key_scan();
- USBH_Process(&USB_OTG_Core, &USB_Host);
- key_state = key_get();
- if (key_state != KEY_NONE)
- {
- switch (key_state)
- {
- case KEY_1_UP:
- printf("1111111\r\n");
- break;
- case KEY_1_DOWN:
- printf("wwwwwwwwwwww\r\n");
- break;
- case KEY_1_LONG:
- printf("333333333\r\n");
- break;
- default:
- printf("44444444\r\n");
- break;
- }
- }
- if ((cnt % 10 == 0) && (cnt != 0))
- {
-
-
- }
- if ((cnt % 25 == 0) && (cnt != 0))
- {
-
- LED2_RUN_TOGGLE;
- }
- if ((cnt % 15 == 0) && (cnt != 0))
- {
-
-
-
-
- }
- if (cnt == 10)
- {
-
-
-
-
-
-
- ret = am2303_read_data(&temperature, &humidity);
-
-
-
-
-
-
-
-
-
-
- }
- if (cnt >= 25)
- {
-
- AD7606_ReadNowAdc();
- AD7606_StartConvst();
- cnt = 0;
- }
- else
- {
- cnt++;
- }
- if (save_cnt >= 25)
- {
- save_cnt = 0;
- }
- else
- {
- save_cnt++;
- }
- OSTimeDly(20);
- };
- }
|