I runga i te kaupapa ko te mahi ki te whakawhanake i tetahi kawa korero mo te microcontroller nrf52832 me nga riipene riipene Hainamana haurua-piriti e rua.
Ko te mahi karekau i ngawari, na te mea i raru ahau ki te kore o nga korero e marama ana. Ko te mea pea ko te "pakiaka o te kino" kei roto i te SDK mai i te Nordic Semiconductor ake - he whakahou i nga putanga tonu, etahi taapiri me nga mahi rangirua. Me tuhi e au nga mea katoa mai i te wahanga.
Ki taku whakaaro he tino tika tenei kaupapa i runga i te mea he puranga BLE tenei maramara me te huinga katoa o nga "pai" mo te aratau whakaora hiko. Engari e kore ahau e haere hohonu ki te waahanga hangarau, no te mea he maha nga tuhinga kua tuhia mo tenei kaupapa.
2. Whakaahuatanga kaupapa
rino:
Huruhuru Adafruit nRF52 Bluefruit LE (he aha kei te tata tonu)
HX711 ADC
Ine riaka Hainamana 2 pcs. (50x2 kg)
Kaihōtaka ST-LINK V2
ngawari:
IDE VSCODE
NRF SDK 16
OpenOCD
Kaihōtaka ST-LINK V2
Ko nga mea katoa kei roto i te kaupapa kotahi, me takawiri noa te Makefile (whakaahua te waahi o to SDK).
3. Whakaahuatanga o te waehere
Ka whakamahia e matou te waahanga GPIOTE ki te mahi tahi me nga peripheral i runga i te herenga o nga mahi me nga huihuinga, me te waahanga PPI hei whakawhiti i nga raraunga mai i tetahi waahi ki tetahi atu me te kore e uru mai he tukatuka.
ret_code_t err_code;
err_code = nrf_drv_gpiote_out_init(PD_SCK, &config);//настраеваем на выход
nrf_drv_gpiote_out_config_t config = GPIOTE_CONFIG_OUT_TASK_TOGGLE(false);//будем передергивать пин для импульса
err_code = nrf_drv_gpiote_out_init(PD_SCK, &config);//настраеваем на выход
Ka whirihorahia e matou te raina tukutahi PD_SCL ki te putanga ki te whakaputa i nga pupuhi me te roa o te 10 μs.
nrf_drv_gpiote_in_config_t gpiote_config = GPIOTE_CONFIG_IN_SENSE_HITOLO(false);// переход уровня с высокого на низкий
nrf_gpio_cfg_input(DOUT, NRF_GPIO_PIN_NOPULL);// на вход без подтяжки
err_code = nrf_drv_gpiote_in_init(DOUT, &gpiote_config, gpiote_evt_handler);
Ka whirihorahia e matou te raina raraunga DOUT ki te panui i te ahua reri o te HX711; mena he iti te taumata, ka puta he kaikawe i reira ka whakakorehia e matou te haukoti me te tiimata i te taima ki te whakaputa i nga karaka karaka i te putanga PD_SCL.
Whai muri i tera, ka arawhitia te waahanga PPI me te hono atu i to maatau matawā ki te putanga PD_SCL ki te whakaputa i nga pupuhi me te roanga o te 10 μs ka puta he huihuinga whakatairite, ka huri ano i te waahanga GPIOTE.
nrf_drv_timer_config_t timer_cfg = NRF_DRV_TIMER_DEFAULT_CONFIG;// по умолчанию
timer_cfg.frequency = NRF_TIMER_FREQ_1MHz;// тактируем на частоте 1Мгц
ret_code_t err_code = nrf_drv_timer_init(&m_timer0, &timer_cfg, timer0_event_handler);
APP_ERROR_CHECK(err_code);
nrf_drv_timer_extended_compare(&m_timer0,
NRF_TIMER_CC_CHANNEL0,
nrf_drv_timer_us_to_ticks(&m_timer0,
10),
NRF_TIMER_SHORT_COMPARE0_CLEAR_MASK,
true);// срабатывает по сравнению
Ka arawhiti tatou i te matawā kore me tona kaikawe.
Ko te mea tino whakamere ka tupu i roto i te kaikawe matawā. Ko te wa o te pupuhi he 20 μs. Kei te pirangi matou ki nga patere kehe (kei te taha piki ake) me te mea ko to ratou nama kaua e neke ake i te 24, a e 48 nga huihuinga.
Mai i te papaaarangi e whai ake nei ko te maha o nga pire me 25 neke atu, e rite ana ki te whiwhinga o te 128 (i roto i te waehere i whakamahia e ahau he 25 pire), he rite tenei ki te 50 o nga huihuinga taima, e tohu ana i te mutunga o te anga raraunga.
I muri i tenei, ka whakawetohia e matou te waahi me te tukatuka i nga raraunga (e ai ki nga papaaarangi) ka huri i te HX711 ki te aratau iti te whakamahi hiko.
Kei te tumanako matou ki nga huihuinga mai i te taima RTC me te 10 s te roa (kei to whakaaro) ka whakarewahia te HX711 i roto i te kaitakawaenga, ka mutu te haukoti i te raina DOUT.
He kotahi ano te waahi, ko nga rakau ka puta mai ma te UART (te reiti baud 115200, TX - 6 pine, RX - 8 pine) kei roto i te sdk_config.h nga tautuhinga katoa
kitenga
Ka mihi ki a koutou katoa mo to aro mai, ko taku tumanako ka whai hua tenei tuhinga ka whakaiti i te wa nui mo nga kaihanga ki te rapu otinga. E hiahia ana ahau ki te kii ko te huarahi hangarau e whakamahia ana e Nordic i roto i ona papaahi he tino pai mai i te tirohanga o te kaha o te kaha.
PS
Kei te whanake tonu te kaupapa, na mena he mea pai tenei kaupapa, i roto i te tuhinga e whai ake nei ka ngana ahau ki te whakaahua i te algorithm mo te whakatikatika i nga puoro taumaha, me te hono atu i te puranga BLE.