feat: 完成通信配置
This commit is contained in:
@@ -93,6 +93,9 @@ void USART1_IRQHandler(void)
|
|||||||
void USART2_IRQHandler(void)
|
void USART2_IRQHandler(void)
|
||||||
{
|
{
|
||||||
if (USART_GetITStatus(USART2, USART_IT_RXNE) != RESET) {
|
if (USART_GetITStatus(USART2, USART_IT_RXNE) != RESET) {
|
||||||
|
uint8_t data_s = 0;
|
||||||
|
uart_query_byte(UART_2, &data_s);
|
||||||
|
by_tiny_frame_parse_uart_handle(data_s);
|
||||||
USART_ClearITPendingBit(USART2, USART_IT_RXNE);
|
USART_ClearITPendingBit(USART2, USART_IT_RXNE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -102,9 +105,6 @@ void USART3_IRQHandler(void)
|
|||||||
#if DEBUG_UART_USE_INTERRUPT // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> debug <20><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
#if DEBUG_UART_USE_INTERRUPT // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> debug <20><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
||||||
// debug_interrupr_handler(); // <20><><EFBFBD><EFBFBD> debug <20><><EFBFBD>ڽ<EFBFBD><DABD>մ<EFBFBD><D5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ݻᱻ debug <20><><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ
|
// debug_interrupr_handler(); // <20><><EFBFBD><EFBFBD> debug <20><><EFBFBD>ڽ<EFBFBD><DABD>մ<EFBFBD><D5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ݻᱻ debug <20><><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ
|
||||||
#endif // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD> DEBUG_UART_INDEX <20><><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>Ӧ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>ж<EFBFBD>ȥ
|
#endif // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD> DEBUG_UART_INDEX <20><><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>Ӧ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>ж<EFBFBD>ȥ
|
||||||
uint8_t data_s = 0;
|
|
||||||
uart_query_byte(UART_3, &data_s);
|
|
||||||
by_tiny_frame_parse_uart_handle(data_s);
|
|
||||||
USART_ClearITPendingBit(USART3, USART_IT_RXNE);
|
USART_ClearITPendingBit(USART3, USART_IT_RXNE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
|
|
||||||
#define BY_TF_DEBUG (1)
|
#define BY_TF_DEBUG (1)
|
||||||
|
|
||||||
#define BY_TF_UART_TX_PIN (UART3_MAP0_TX_B10)
|
#define BY_TF_UART_TX_PIN (UART2_MAP0_TX_A2)
|
||||||
#define BY_TF_UART_RX_PIN (UART3_MAP0_RX_B11)
|
#define BY_TF_UART_RX_PIN (UART2_MAP0_RX_A3)
|
||||||
#define BY_TF_UART_INDEX (UART_3)
|
#define BY_TF_UART_INDEX (UART_2)
|
||||||
#define BY_TF_UART_BAUDRATE (115200)
|
#define BY_TF_UART_BAUDRATE (115200)
|
||||||
|
|
||||||
#define BY_TF_PARSE_BUFFER_SIZE (50)
|
#define BY_TF_PARSE_BUFFER_SIZE (50)
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
#if defined(BY_TF_DEVICE_MASTER)
|
#if defined(BY_TF_DEVICE_MASTER)
|
||||||
|
|
||||||
uint8_t read_processing_flag;
|
|
||||||
uint32_t *data_p;
|
uint32_t *data_p;
|
||||||
|
|
||||||
void by_tiny_frame_read_run(void)
|
void by_tiny_frame_read_run(void)
|
||||||
@@ -11,6 +10,11 @@ void by_tiny_frame_read_run(void)
|
|||||||
|
|
||||||
void by_tiny_frame_read(uint8_t slave_id, uint16_t reg_addr, uint32_t *data)
|
void by_tiny_frame_read(uint8_t slave_id, uint16_t reg_addr, uint32_t *data)
|
||||||
{
|
{
|
||||||
|
if (by_tiny_frame_pack_lock) {
|
||||||
|
// 写入忙处理
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// 填充数据
|
// 填充数据
|
||||||
by_tf_pack_frame_t frame_s;
|
by_tf_pack_frame_t frame_s;
|
||||||
frame_s.slave_id = slave_id;
|
frame_s.slave_id = slave_id;
|
||||||
@@ -27,13 +31,13 @@ void by_tiny_frame_read(uint8_t slave_id, uint16_t reg_addr, uint32_t *data)
|
|||||||
// 开启响应监听
|
// 开启响应监听
|
||||||
by_tiny_frame_parse_start_listen();
|
by_tiny_frame_parse_start_listen();
|
||||||
|
|
||||||
read_processing_flag = 1;
|
by_tiny_frame_pack_lock = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void by_tiny_frame_read_handle(by_tf_parse_frame_t frame_s, uint8_t status)
|
void by_tiny_frame_read_handle(by_tf_parse_frame_t frame_s, uint8_t status)
|
||||||
{
|
{
|
||||||
|
|
||||||
read_processing_flag = 0;
|
by_tiny_frame_pack_lock = 0;
|
||||||
if (!status) {
|
if (!status) {
|
||||||
*data_p = frame_s.data;
|
*data_p = frame_s.data;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,8 +5,6 @@
|
|||||||
#include "by_tiny_frame_pack.h"
|
#include "by_tiny_frame_pack.h"
|
||||||
#include "by_tiny_frame_parse.h"
|
#include "by_tiny_frame_parse.h"
|
||||||
|
|
||||||
uint8_t write_processing_flag;
|
|
||||||
|
|
||||||
void by_tiny_frame_write_run(void)
|
void by_tiny_frame_write_run(void)
|
||||||
{
|
{
|
||||||
// nothing
|
// nothing
|
||||||
@@ -14,6 +12,11 @@ void by_tiny_frame_write_run(void)
|
|||||||
|
|
||||||
void by_tiny_frame_write(uint8_t slave_id, uint16_t reg_addr, uint32_t data)
|
void by_tiny_frame_write(uint8_t slave_id, uint16_t reg_addr, uint32_t data)
|
||||||
{
|
{
|
||||||
|
if(by_tiny_frame_pack_lock){
|
||||||
|
//写入忙处理
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// 填充数据
|
// 填充数据
|
||||||
by_tf_pack_frame_t frame_s;
|
by_tf_pack_frame_t frame_s;
|
||||||
frame_s.slave_id = slave_id;
|
frame_s.slave_id = slave_id;
|
||||||
@@ -30,12 +33,12 @@ void by_tiny_frame_write(uint8_t slave_id, uint16_t reg_addr, uint32_t data)
|
|||||||
// 开启响应监听
|
// 开启响应监听
|
||||||
by_tiny_frame_parse_start_listen();
|
by_tiny_frame_parse_start_listen();
|
||||||
|
|
||||||
write_processing_flag = 1;
|
by_tiny_frame_pack_lock = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void by_tiny_frame_write_handle(by_tf_parse_frame_t frame_s, uint8_t status)
|
void by_tiny_frame_write_handle(by_tf_parse_frame_t frame_s, uint8_t status)
|
||||||
{
|
{
|
||||||
write_processing_flag = 0;
|
by_tiny_frame_pack_lock = 0;
|
||||||
|
|
||||||
#if (BY_TF_DEBUG)
|
#if (BY_TF_DEBUG)
|
||||||
printf("****** WRITE REGISTER DONE ******\r\n");
|
printf("****** WRITE REGISTER DONE ******\r\n");
|
||||||
|
|||||||
@@ -4,9 +4,12 @@
|
|||||||
#include "zf_common_headfile.h"
|
#include "zf_common_headfile.h"
|
||||||
#include "crc16.h"
|
#include "crc16.h"
|
||||||
|
|
||||||
|
uint8_t by_tiny_frame_pack_lock;
|
||||||
|
|
||||||
void by_tiny_frame_pack_init(void)
|
void by_tiny_frame_pack_init(void)
|
||||||
{
|
{
|
||||||
/** nothing to init **/
|
/** nothing to init **/
|
||||||
|
by_tiny_frame_pack_lock = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void by_tiny_frame_pack_send(by_tf_pack_frame_t *frame_s)
|
void by_tiny_frame_pack_send(by_tf_pack_frame_t *frame_s)
|
||||||
|
|||||||
@@ -21,4 +21,6 @@ typedef struct by_tf_pack_frame_t {
|
|||||||
extern void by_tiny_frame_pack_init(void);
|
extern void by_tiny_frame_pack_init(void);
|
||||||
extern void by_tiny_frame_pack_send(by_tf_pack_frame_t *frame_s);
|
extern void by_tiny_frame_pack_send(by_tf_pack_frame_t *frame_s);
|
||||||
|
|
||||||
|
extern uint8_t by_tiny_frame_pack_lock;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user