私は理解していない構造を持っている:の構造を説明ESP32変数
typedef struct {
uint8_t ssid[32]; /**< SSID of target AP*/
uint8_t password[64]; /**< password of target AP*/
wifi_scan_method_t scan_method; /**< do all channel scan or fast scan */
bool bssid_set;
/**< whether set MAC address of target AP or not. Generally, station_config.bssid_set needs to be 0; and it needs to be 1 only when users need to check the MAC address of the AP.*/
uint8_t bssid[6]; /**< MAC address of target AP*/
uint8_t channel;
/**< channel of target AP. Set to 1~13 to scan starting from the specified channel before connecting to AP. If the channel of AP is unknown, set it to 0.*/
wifi_sort_method_t sort_method;
/**< sort the connect AP in the list by rssi or security mode */
wifi_fast_scan_threshold_t threshold;
/**< When scan_method is set to WIFI_FAST_SCAN, only APs which have an auth mode that is more secure than the selected auth mode and a signal stronger than the minimum RSSI will be used. */
} wifi_sta_config_t;
それは「#defineで定義」の値を割り当てることによってinitualizedさ:
wifi_config_t wifi_config = {
.sta = {
.ssid = WIFI_AP_NAME,
.password = WIFI_AP_PASS,
.bssid_set = 0
},
};
WIFI_AP_NAME
とWIFI_AP_PASS
が定義されているがこのように:
#define WIFI_AP_NAME CONFIG_WIFI_SSID
#define CONFIG_WIFI_SSID "myssid"
今、私は持っています:
char *wifi_ssid=mynvs_read(WIFI_SSID_TYPE);
char *wifi_pass=mynvs_read(WIFI_PASS_TYPE);
そして私はwifi_config
構造に.ssid
と.password
に、これらの値を割り当てる必要があります。
どうすればよいですか?単純な代入は、エラーがスローされますので:
wifi_config_t wifi_config = {
.sta = {
.ssid = wifi_ssid,
.password = wifi_pass,
.bssid_set = 0
},
};
error: missing braces around initializer [-Werror=missing-braces]
私はstrcpyの値にしようとしたとき、私が得た:
bssid_set = 0
:
はい、それはこのコードスニペットは、(// meta.stackexchange [説明を含む]疑問を解決することができるが、私はこの – user2018761