Struggling with UART
This commit is contained in:
@@ -10,6 +10,8 @@
|
||||
#include "usart.h"
|
||||
#include "clock.h"
|
||||
|
||||
#include "stdio.h"
|
||||
|
||||
#include "ds1307.h"
|
||||
|
||||
typedef struct {
|
||||
@@ -35,22 +37,11 @@ void (*commands[])(uint32_t) = {
|
||||
cmd_WhoAmI,
|
||||
cmd_SetTime,
|
||||
cmd_GetTime,
|
||||
cmd_SetOffsetDiode,
|
||||
cmd_setColour_hour,
|
||||
cmd_setColour_minute,
|
||||
cmd_setColour_second
|
||||
};
|
||||
|
||||
void cmd_SetOffsetDiode(uint32_t diode){
|
||||
|
||||
uint8_t offset = (uint8_t) diode;
|
||||
|
||||
clock_LedOffset(offset);
|
||||
|
||||
HAL_UART_Transmit(&huart2, ok, sizeof(ok), 1000);
|
||||
|
||||
}
|
||||
|
||||
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){
|
||||
|
||||
cmd_UART_Request();
|
||||
@@ -63,9 +54,9 @@ void cmd_UART_Request(void){
|
||||
|
||||
cmd_RunCommand((uint8_t) msg->cmdId, (uint32_t*) &msg->bytes);
|
||||
|
||||
HAL_UART_Transmit(&huart2, (uint8_t*) msg, sizeof(*msg), 1000);
|
||||
// HAL_UART_Transmit(&huart2, (uint8_t*) msg, sizeof(*msg), 1000);
|
||||
|
||||
HAL_UART_Transmit(&huart2, ok, sizeof(ok), 1000);
|
||||
// HAL_UART_Transmit(&huart2, ok, sizeof(ok), 1000);
|
||||
|
||||
}
|
||||
|
||||
@@ -102,7 +93,26 @@ void cmd_SetTime(uint32_t time){
|
||||
|
||||
}
|
||||
|
||||
void cmd_GetTime(uint32_t time){}
|
||||
void cmd_GetTime(uint32_t time){
|
||||
|
||||
extern ds1307_dev_t my_rtc;
|
||||
|
||||
uint8_t msg[6] = {0};
|
||||
|
||||
uint8_t resp[] = "Hello Ewaryst\n";
|
||||
|
||||
// sprintf(resp, "%d, %d, %d, \n", my_rtc.hours, my_rtc.minutes, my_rtc.seconds);
|
||||
|
||||
msg[0] = com_getTime + 200;
|
||||
msg[1] = my_rtc.hours;
|
||||
msg[2] = my_rtc.minutes;
|
||||
msg[3] = my_rtc.seconds;
|
||||
msg[4] = 251;
|
||||
|
||||
msg[5] = 44;
|
||||
|
||||
HAL_UART_Transmit(&huart2, resp, sizeof(resp), 1000);
|
||||
}
|
||||
|
||||
void cmd_setColour_hour(uint32_t colour){
|
||||
|
||||
|
||||
Reference in New Issue
Block a user