我用一台电脑制作了本地主机,并尝试通过其他设备访问它。问题是服务器只能在主机中访问。我应该怎么做才能通过网络中的其他设备进行连接。我使用 Xampp 作为本地主机和主机的 IP 地址,通过浏览器进行连接。
我开始在 STM32F103xx MCU 中对 CAN 外设环回模式的 HAL 驱动程序进行基本使用。根据MCU的用户手册,当传输完全完成并且数据在CAN总线上可用时,CAN_TSR寄存器的TME、RQCP和TXOK位被硬件置1,表明相应的邮箱已变空,并且传输成功。
当我调试以下程序时,CAN_TSR 寄存器中没有发生上述任何更改。我只能看到 TME 位被设置,这意味着提供了一个邮箱用于传输,但从未传输。
我的这段代码导致程序中出现不定式循环:
while(HAL_CAN_IsTxMessagePending(&hcan, TxMailbox));
Run Code Online (Sandbox Code Playgroud)
您能解释一下我的问题是什么以及我应该做什么吗?感谢您的想法。
这是完整的代码:
#include "main.h"
CAN_HandleTypeDef hcan;
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_CAN_Init(void);
/* USER CODE BEGIN PFP */
void Can_TX(void);
/* USER CODE END PFP */
int main(void)
{
  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();
  /* Configure the system clock */
  SystemClock_Config();
  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_CAN_Init();
  /* USER CODE BEGIN 2 …Run Code Online (Sandbox Code Playgroud)