添加485获取特定命令的代码
This commit is contained in:
29
src/RS485.c
Normal file
29
src/RS485.c
Normal file
@@ -0,0 +1,29 @@
|
||||
//
|
||||
// Created by dell on 24-11-29.
|
||||
//
|
||||
|
||||
#include "RS485.h"
|
||||
#include "gd32e23x.h"
|
||||
#include "systick.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#define MAX_CMD_SIZE 16
|
||||
#define BUFSIZE 8
|
||||
|
||||
static char cmdbuffer[BUFSIZE][MAX_CMD_SIZE];
|
||||
static char *strchr_pointer = NULL;
|
||||
|
||||
static int bufindr = 0;
|
||||
static int bufindw = 0;
|
||||
static int buflen = 0;
|
||||
|
||||
bool code_seen(char code)
|
||||
{
|
||||
strchr_pointer = strchr(cmdbuffer[bufindr], code);
|
||||
return (strchr_pointer != NULL); //Return True if a character was found
|
||||
}
|
||||
float code_value(void)
|
||||
{
|
||||
return (strtod(&cmdbuffer[bufindr][strchr_pointer - cmdbuffer[bufindr] + 1], NULL));
|
||||
}
|
@@ -46,8 +46,9 @@ void usart_config(void)
|
||||
gpio_output_options_set(USART_GPIO_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_10MHZ, USART_TX_PIN | USART_RX_PIN);
|
||||
|
||||
/* configure RS485 EN Pin */
|
||||
gpio_mode_set(USART_GPIO_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLUP, USART_EN_PIN);
|
||||
gpio_mode_set(USART_GPIO_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, USART_EN_PIN);
|
||||
gpio_output_options_set(USART_GPIO_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, USART_EN_PIN);
|
||||
gpio_bit_write(USART_GPIO_PORT, USART_EN_PIN, SET);
|
||||
|
||||
/* USART configure */
|
||||
usart_deinit(USART0_PHY);
|
||||
|
Reference in New Issue
Block a user