feat: 去掉上位机udp准备部分,直接进入循环开始发送数据。

该版本仅用于测试。
This commit is contained in:
yuanQie 2025-06-12 21:42:03 +08:00
parent 65883c7592
commit 70bb87ad21

View File

@ -133,54 +133,54 @@ void *handleUdpTransmission(void *arg)
printf("[mmap]: wr_idx ready\n"); printf("[mmap]: wr_idx ready\n");
// ucp4008_ctrl_mmap_base // ucp4008_ctrl_mmap_base
ucp4008_ctrl_mmap_base = mmap( // ucp4008_ctrl_mmap_base = mmap(
NULL, // NULL,
MAP_SIZE_ST_CASE52, // MAP_SIZE_ST_CASE52,
PROT_READ | PROT_WRITE, // PROT_READ | PROT_WRITE,
MAP_SHARED, // MAP_SHARED,
mem_fd_case52, // mem_fd_case52,
UCP4008_CTRL_PHYSADDR // UCP4008_CTRL_PHYSADDR
); // );
if (ucp4008_ctrl_mmap_base == MAP_FAILED) { // if (ucp4008_ctrl_mmap_base == MAP_FAILED) {
printf("[mmap]: ucp4008_ctrl mapping failed!\n"); // printf("[mmap]: ucp4008_ctrl mapping failed!\n");
perror("ucp4008_ctrl error"); // perror("ucp4008_ctrl error");
close(mem_fd_case52); // close(mem_fd_case52);
exit(EXIT_FAILURE); // exit(EXIT_FAILURE);
} // }
// udp_ctrl // udp_ctrl
char *ctrl_message = "ready"; // char *ctrl_message = "ready";
sendto(sockfd_case52, ctrl_message, strlen(ctrl_message), 0, // sendto(sockfd_case52, ctrl_message, strlen(ctrl_message), 0,
(struct sockaddr *)&server_addr_case52, sizeof(server_addr_case52)); // (struct sockaddr *)&server_addr_case52, sizeof(server_addr_case52));
printf("[sendto]:%s\n", ctrl_message); // printf("[sendto]:%s\n", ctrl_message);
char ctrl_buffer[CTRL_BUFFER_SIZE]; // char ctrl_buffer[CTRL_BUFFER_SIZE];
struct sockaddr_in from_addr; // struct sockaddr_in from_addr;
socklen_t from_addr_len = sizeof(from_addr); // socklen_t from_addr_len = sizeof(from_addr);
int recv_len; // int recv_len;
int strcmp_flag = 1; // int strcmp_flag = 1;
while (strcmp_flag) // while (strcmp_flag)
{ // {
recv_len = recvfrom(sockfd_case52, ctrl_buffer, CTRL_BUFFER_SIZE, 0, // recv_len = recvfrom(sockfd_case52, ctrl_buffer, CTRL_BUFFER_SIZE, 0,
(struct sockaddr *)&from_addr, &from_addr_len); // (struct sockaddr *)&from_addr, &from_addr_len);
if (recv_len < 0) { // if (recv_len < 0) {
printf("[recv_len]:recv_len < 0\n"); // printf("[recv_len]:recv_len < 0\n");
} // }
ctrl_buffer[recv_len] = '\0'; // ctrl_buffer[recv_len] = '\0';
printf("[recvfrom]:%s\n", ctrl_buffer); // printf("[recvfrom]:%s\n", ctrl_buffer);
if (strcmp(ctrl_buffer, "ok") == 0) { // if (strcmp(ctrl_buffer, "ok") == 0) {
//usleep(1000000); // //usleep(1000000);
printf("[mmap]:wr...\n"); // printf("[mmap]:wr...\n");
mapped_addr = (volatile uint32_t *)ucp4008_ctrl_mmap_base; // mapped_addr = (volatile uint32_t *)ucp4008_ctrl_mmap_base;
*mapped_addr = 0xA5A55A5A; // *mapped_addr = 0xA5A55A5A;
printf("[mmap]: wr 0xA5A55A5A done :) \n"); // printf("[mmap]: wr 0xA5A55A5A done :) \n");
strcmp_flag = 0; // strcmp_flag = 0;
} else { // } else {
printf("[recvfrom]:strcmp no ok!\n"); // printf("[recvfrom]:strcmp no ok!\n");
} // }
} // }
// 初始化消费者索引 // 初始化消费者索引
r_idx = 0; r_idx = 0;