C3536 “ret”: 初始化之前无法使用

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    C3536    “ret”: 初始化之前无法使用    dll_detector    f:\project\detect\yolov7\yolov7-tensorrt_dll_trt8\sln\dll_detector\yolov7.cpp    318    

代码:

	void* buffers[2];
	auto start = std::chrono::system_clock::now();

	const int inputIndex = engine->getBindingIndex(INPUT_BLOB_NAME);

	assert(engine->getBindingDataType(inputIndex) == nvinfer1::DataType::kFLOAT);
	const int outputIndex = engine->getBindingIndex(OUTPUT_BLOB_NAME);
	assert(engine->getBindingDataType(outputIndex) == nvinfer1::DataType::kFLOAT);
	// int mBatchSize = engine.getMaxBatchSize();

	 // Create GPU buffers on device
	CHECK(cudaMalloc(&buffers[inputIndex], batch_size * 3 * this->INPUT_H * this->INPUT_W * sizeof(float)));


报错行:

CHECK(cudaMalloc(buffers[inputIndex], batch_size * 3 * this->INPUT_H * this->INPUT_W * sizeof(float)));

解决方法:

CHECK(cudaMalloc(&buffers[inputIndex], batch_size * 3 * this->INPUT_H * this->INPUT_W * sizeof(float)));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
nRF52830芯片支持BLE通信协议,需要进行协议栈的初始化,以实现BLE设备之间的数据传输和通信。nRF5 SDK中提供了示例代码,可以参考nRF5 SDK中的ble_peripheral模块,来实现nRF52830的BLE初始化。下面是nRF52830 BLE初始化的详细步骤: 1. 初始化SoftDevice:SoftDevice是nRF52830芯片上的蓝牙协议栈,需要进行初始化才能使用。在nRF5 SDK的示例代码中,使用了nrf_sdh_enable_request函数来请求SoftDevice的启用,该函数会自动初始化SoftDevice。 ```c // Enable the SoftDevice ret_code_t err_code = nrf_sdh_enable_request(); APP_ERROR_CHECK(err_code); ``` 2. 初始化BLE协议栈参数:在使用BLE协议栈之前,需要设置一些BLE协议栈参数,如设备名称、设备地址、广播间隔等。在nRF5 SDK的示例代码中,使用了ble_cfg_t结构体来设置BLE协议栈参数。 ```c // Set the BLE stack configuration parameters ble_cfg_t ble_cfg = { .conn_cfg = { .params = { .gap_conn_cfg = { .conn_count = BLE_GAP_CONN_COUNT_MAX, .event_length = BLE_GAP_EVENT_LENGTH_DEFAULT }, .gatt_conn_cfg = { .att_mtu = NRF_SDH_BLE_GATT_MAX_MTU_SIZE } } } }; ret_code_t err_code = sd_ble_cfg_set(BLE_CONN_CFG_GAP, &ble_cfg, RAM_START); APP_ERROR_CHECK(err_code); ``` 3. 初始化GAP参数:GAP是BLE通信协议的关键部分,需要设置一些GAP参数,如广播间隔、设备名称等。在nRF5 SDK的示例代码中,使用了ble_gap_conn_params_t结构体来设置GAP参数。 ```c // Set the GAP connection parameters ble_gap_conn_params_t gap_conn_params = { .min_conn_interval = MSEC_TO_UNITS(100, UNIT_1_25_MS), .max_conn_interval = MSEC_TO_UNITS(200, UNIT_1_25_MS), .slave_latency = 0, .conn_sup_timeout = MSEC_TO_UNITS(4000, UNIT_10_MS) }; ret_code_t err_code = sd_ble_gap_ppcp_set(&gap_conn_params); APP_ERROR_CHECK(err_code); ``` 4. 初始化广播数据:在BLE设备之间进行广播时,需要设置广播数据,以便其他设备识别和连接。在nRF5 SDK的示例代码中,使用了ble_advdata_t结构体来设置广播数据。 ```c // Set the advertisement data ble_advdata_t advdata; memset(&advdata, 0, sizeof(advdata)); advdata.name_type = BLE_ADVDATA_FULL_NAME; advdata.include_appearance = true; advdata.flags = BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE; advdata.uuids_complete.uuid_cnt = sizeof(m_adv_uuids) / sizeof(m_adv_uuids[0]); advdata.uuids_complete.p_uuids = m_adv_uuids; err_code = ble_advdata_encode(&advdata, m_adv_data.adv_data.p_data, &m_adv_data.adv_data.len); APP_ERROR_CHECK(err_code); ``` 5. 初始化BLE事件处理函数:在使用BLE协议栈进行数据传输和通信时,需要定义BLE事件处理函数,并进行注册。在nRF5 SDK的示例代码中,使用了Nordic Semiconductor提供的BLE事件处理函数,并进行了注册。 ```c // Register the BLE event handler function err_code = nrf_sdh_ble_app_evt_handler_register(ble_evt_dispatch, NULL); APP_ERROR_CHECK(err_code); ``` 以上就是nRF52830 BLE初始化的主要步骤,更详细的初始化代码可以参考nRF5 SDK中的ble_peripheral示例程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值