1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| uint16_t data[2] = {0, 0}; uint16_t data1[2] = {-16, 16}; uint16_t data2[2] = {6, 6}; uint16_t data3[2] = {0, 0}; uint8_t RxData;
int main(void) { uint16_t speed_flag, turn_flag; uint16_t speed = 10; uint16_t turn = 10; speed_flag = turn_flag = 1;
HAL_UART_Receive_IT(&huart1, &RxData,1); HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); MBRTUMasterWriteSingleRegister(&MBRTUHandle, 1, 0X200D, 0x0003, 100); HAL_Delay(10); MBRTUMasterWriteSingleRegister(&MBRTUHandle, 1, 0X200E, 0x0008, 100); HAL_Delay(10); MBRTUMasterWriteSingleRegister(&MBRTUHandle, 1, 0X200E, 0x0010, 100);
while (1) {
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); if(RxData == 'w'||RxData == 's'||RxData == 'a'||RxData == 'd'||RxData == 'x'||RxData == 'e'||RxData == 'c'||RxData == 'q'||RxData == 'z') { if(RxData == 'w' || RxData == 's'||RxData == 'q'||RxData == 'z') { if(RxData == 'w') speed_flag = 1; if(RxData == 's') speed_flag = -1; if(RxData == 'q') speed+=10; if(RxData == 'z') speed-=10; data[0] = speed_flag * speed; data[1] = -speed_flag * speed; } if(RxData == 'a'||RxData == 'd'||RxData == 'e'||RxData == 'c') { if (RxData == 'a') turn_flag = 1; if (RxData == 'd') turn_flag = -1; if(RxData == 'e') turn+=10; if(RxData == 'c') turn-=10; data[0] = turn_flag * turn; data[1] = turn_flag * turn; } if(RxData == 'x') { data[0] = 0; data[1] = 0; } MBRTUMasterWriteMultipleRegisters(&MBRTUHandle, 1, 0X2088, 0X0002, data, 100); } RxData = ' '; }
|