feat: ✅ 去掉上位机udp准备部分,直接进入循环开始发送数据。
该版本仅用于测试。
This commit is contained in:
parent
65883c7592
commit
70bb87ad21
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user