{"id":9001,"date":"2018-12-30T16:40:44","date_gmt":"2018-12-30T16:40:44","guid":{"rendered":"http:\/\/blog.bachi.net\/?p=9001"},"modified":"2019-02-09T18:59:12","modified_gmt":"2019-02-09T18:59:12","slug":"nrf5-sdk-peripheral-interface","status":"publish","type":"post","link":"https:\/\/blog.bachi.net\/?p=9001","title":{"rendered":"nRF5 SDK: Peripheral Interface"},"content":{"rendered":"<table>\n<tr>\n<td>AAR<\/td>\n<td>Accelerated address resolver<\/td>\n<\/tr>\n<tr>\n<td>ACL<\/td>\n<td>Access control lists<\/td>\n<\/tr>\n<tr>\n<td>CCM<\/td>\n<td>AES CCM mode encryption<\/td>\n<\/tr>\n<tr>\n<td>COMP<\/td>\n<td>Comparator<\/td>\n<\/tr>\n<tr>\n<td>CRYPTOCELL<\/td>\n<td>ARM TrustZone CryptoCell 310<\/td>\n<\/tr>\n<tr>\n<td>ECB<\/td>\n<td>AES electronic codebook mode encryption<\/td>\n<\/tr>\n<tr>\n<td>EGU<\/td>\n<td>Event generator unit<\/td>\n<\/tr>\n<tr>\n<td>GPIO<\/td>\n<td>General purpose input\/output<\/td>\n<\/tr>\n<tr>\n<td>GPIOTE<\/td>\n<td>GPIO tasks and events<\/td>\n<\/tr>\n<tr>\n<td>I2S<\/td>\n<td>Inter-IC sound interface<\/td>\n<\/tr>\n<tr>\n<td>LPCOMP<\/td>\n<td>Low power comparator<\/td>\n<\/tr>\n<tr>\n<td>MWU<\/td>\n<td>Memory watch unit<\/td>\n<\/tr>\n<tr>\n<td>NFCT<\/td>\n<td>Near field communication tag<\/td>\n<\/tr>\n<tr>\n<td>PDM<\/td>\n<td>Pulse density modulation interface<\/td>\n<\/tr>\n<tr>\n<td>PPI<\/td>\n<td>Programmable peripheral interconnect<\/td>\n<\/tr>\n<tr>\n<td>PWM<\/td>\n<td>Pulse width modulation<\/td>\n<\/tr>\n<tr>\n<td>QDEC<\/td>\n<td>Quadrature decoder<\/td>\n<\/tr>\n<tr>\n<td>QSPI<\/td>\n<td>Quad serial peripheral interface<\/td>\n<\/tr>\n<tr>\n<td>RADIO<\/td>\n<td>2.4 GHz radio<\/td>\n<\/tr>\n<tr>\n<td>RNG<\/td>\n<td>Random number generator<\/td>\n<\/tr>\n<tr>\n<td>RTC<\/td>\n<td>Real-time counter<\/td>\n<\/tr>\n<tr>\n<td>SAADC<\/td>\n<td>Successive approximation analog-to-digital converter<\/td>\n<\/tr>\n<tr>\n<td>SPI<\/td>\n<td>Serial peripheral interface master<\/td>\n<\/tr>\n<tr>\n<td>SPIM<\/td>\n<td>Serial peripheral interface master with EasyDMA<\/td>\n<\/tr>\n<tr>\n<td>SPIS<\/td>\n<td>Serial peripheral interface slave with EasyDMA<\/td>\n<\/tr>\n<tr>\n<td>SWI<\/td>\n<td>Software interrupts<\/td>\n<\/tr>\n<tr>\n<td>TEMP<\/td>\n<td>Temperature sensor<\/td>\n<\/tr>\n<tr>\n<td>TWI<\/td>\n<td>I2C compatible two-wire interface<\/td>\n<\/tr>\n<tr>\n<td>TIMER<\/td>\n<td>Timer\/counter<\/td>\n<\/tr>\n<tr>\n<td>TWIM<\/td>\n<td>I2C compatible two-wire interface master with EasyDMA<\/td>\n<\/tr>\n<tr>\n<td>TWIS<\/td>\n<td>I2C compatible two-wire interface slave with EasyDMA<\/td>\n<\/tr>\n<tr>\n<td>UART<\/td>\n<td>Universal asynchronous receiver\/transmitter<\/td>\n<\/tr>\n<tr>\n<td>UARTE<\/td>\n<td>Universal asynchronous receiver\/transmitter with EasyDMA<\/td>\n<\/tr>\n<tr>\n<td>USBD<\/td>\n<td>Universal serial bus device<\/td>\n<\/tr>\n<tr>\n<td>WDT<\/td>\n<td>Watchdog timer<\/td>\n<\/tr>\n<\/table>\n<pre class=\"brush: cpp; title: modules\/nrfx\/mdk\/nrf52.h; notranslate\" title=\"modules\/nrfx\/mdk\/nrf52.h\">\r\nPart of HAL (lowest layer!)\r\n#define NRF_FICR      ((NRF_FICR_Type*)      NRF_FICR_BASE)\r\n#define NRF_UICR      ((NRF_UICR_Type*)      NRF_UICR_BASE)\r\n#define NRF_BPROT     ((NRF_BPROT_Type*)     NRF_BPROT_BASE)\r\n#define NRF_POWER     ((NRF_POWER_Type*)     NRF_POWER_BASE)\r\n#define NRF_CLOCK     ((NRF_CLOCK_Type*)     NRF_CLOCK_BASE)\r\n#define NRF_RADIO     ((NRF_RADIO_Type*)     NRF_RADIO_BASE)\r\n#define NRF_UARTE0    ((NRF_UARTE_Type*)     NRF_UARTE0_BASE)\r\n#define NRF_UART0     ((NRF_UART_Type*)      NRF_UART0_BASE)\r\n#define NRF_SPIM0     ((NRF_SPIM_Type*)      NRF_SPIM0_BASE)\r\n#define NRF_SPIS0     ((NRF_SPIS_Type*)      NRF_SPIS0_BASE)\r\n#define NRF_TWIM0     ((NRF_TWIM_Type*)      NRF_TWIM0_BASE)\r\n#define NRF_TWIS0     ((NRF_TWIS_Type*)      NRF_TWIS0_BASE)\r\n#define NRF_SPI0      ((NRF_SPI_Type*)       NRF_SPI0_BASE)\r\n#define NRF_TWI0      ((NRF_TWI_Type*)       NRF_TWI0_BASE)\r\n#define NRF_SPIM1     ((NRF_SPIM_Type*)      NRF_SPIM1_BASE)\r\n#define NRF_SPIS1     ((NRF_SPIS_Type*)      NRF_SPIS1_BASE)\r\n#define NRF_TWIM1     ((NRF_TWIM_Type*)      NRF_TWIM1_BASE)\r\n#define NRF_TWIS1     ((NRF_TWIS_Type*)      NRF_TWIS1_BASE)\r\n#define NRF_SPI1      ((NRF_SPI_Type*)       NRF_SPI1_BASE)\r\n#define NRF_TWI1      ((NRF_TWI_Type*)       NRF_TWI1_BASE)\r\n#define NRF_NFCT      ((NRF_NFCT_Type*)      NRF_NFCT_BASE)\r\n#define NRF_GPIOTE    ((NRF_GPIOTE_Type*)    NRF_GPIOTE_BASE)\r\n#define NRF_SAADC     ((NRF_SAADC_Type*)     NRF_SAADC_BASE)\r\n#define NRF_TIMER0    ((NRF_TIMER_Type*)     NRF_TIMER0_BASE)\r\n#define NRF_TIMER1    ((NRF_TIMER_Type*)     NRF_TIMER1_BASE)\r\n#define NRF_TIMER2    ((NRF_TIMER_Type*)     NRF_TIMER2_BASE)\r\n#define NRF_RTC0      ((NRF_RTC_Type*)       NRF_RTC0_BASE)\r\n#define NRF_TEMP      ((NRF_TEMP_Type*)      NRF_TEMP_BASE)\r\n#define NRF_RNG       ((NRF_RNG_Type*)       NRF_RNG_BASE)\r\n#define NRF_ECB       ((NRF_ECB_Type*)       NRF_ECB_BASE)\r\n#define NRF_CCM       ((NRF_CCM_Type*)       NRF_CCM_BASE)\r\n#define NRF_AAR       ((NRF_AAR_Type*)       NRF_AAR_BASE)\r\n#define NRF_WDT       ((NRF_WDT_Type*)       NRF_WDT_BASE)\r\n#define NRF_RTC1      ((NRF_RTC_Type*)       NRF_RTC1_BASE)\r\n#define NRF_QDEC      ((NRF_QDEC_Type*)      NRF_QDEC_BASE)\r\n#define NRF_COMP      ((NRF_COMP_Type*)      NRF_COMP_BASE)\r\n#define NRF_LPCOMP    ((NRF_LPCOMP_Type*)    NRF_LPCOMP_BASE)\r\n#define NRF_SWI0      ((NRF_SWI_Type*)       NRF_SWI0_BASE)\r\n#define NRF_EGU0      ((NRF_EGU_Type*)       NRF_EGU0_BASE)\r\n#define NRF_SWI1      ((NRF_SWI_Type*)       NRF_SWI1_BASE)\r\n#define NRF_EGU1      ((NRF_EGU_Type*)       NRF_EGU1_BASE)\r\n#define NRF_SWI2      ((NRF_SWI_Type*)       NRF_SWI2_BASE)\r\n#define NRF_EGU2      ((NRF_EGU_Type*)       NRF_EGU2_BASE)\r\n#define NRF_SWI3      ((NRF_SWI_Type*)       NRF_SWI3_BASE)\r\n#define NRF_EGU3      ((NRF_EGU_Type*)       NRF_EGU3_BASE)\r\n#define NRF_SWI4      ((NRF_SWI_Type*)       NRF_SWI4_BASE)\r\n#define NRF_EGU4      ((NRF_EGU_Type*)       NRF_EGU4_BASE)\r\n#define NRF_SWI5      ((NRF_SWI_Type*)       NRF_SWI5_BASE)\r\n#define NRF_EGU5      ((NRF_EGU_Type*)       NRF_EGU5_BASE)\r\n#define NRF_TIMER3    ((NRF_TIMER_Type*)     NRF_TIMER3_BASE)\r\n#define NRF_TIMER4    ((NRF_TIMER_Type*)     NRF_TIMER4_BASE)\r\n#define NRF_PWM0      ((NRF_PWM_Type*)       NRF_PWM0_BASE)\r\n#define NRF_PDM       ((NRF_PDM_Type*)       NRF_PDM_BASE)\r\n#define NRF_NVMC      ((NRF_NVMC_Type*)      NRF_NVMC_BASE)\r\n#define NRF_PPI       ((NRF_PPI_Type*)       NRF_PPI_BASE)\r\n#define NRF_MWU       ((NRF_MWU_Type*)       NRF_MWU_BASE)\r\n#define NRF_PWM1      ((NRF_PWM_Type*)       NRF_PWM1_BASE)\r\n#define NRF_PWM2      ((NRF_PWM_Type*)       NRF_PWM2_BASE)\r\n#define NRF_SPIM2     ((NRF_SPIM_Type*)      NRF_SPIM2_BASE)\r\n#define NRF_SPIS2     ((NRF_SPIS_Type*)      NRF_SPIS2_BASE)\r\n#define NRF_SPI2      ((NRF_SPI_Type*)       NRF_SPI2_BASE)\r\n#define NRF_RTC2      ((NRF_RTC_Type*)       NRF_RTC2_BASE)\r\n#define NRF_I2S       ((NRF_I2S_Type*)       NRF_I2S_BASE)\r\n#define NRF_FPU       ((NRF_FPU_Type*)       NRF_FPU_BASE)\r\n#define NRF_P0        ((NRF_GPIO_Type*)      NRF_P0_BASE)\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>AAR Accelerated address resolver ACL Access control lists CCM AES CCM mode encryption COMP Comparator CRYPTOCELL ARM TrustZone CryptoCell 310 ECB AES electronic codebook mode encryption EGU Event generator unit GPIO General purpose input\/output GPIOTE GPIO tasks and events I2S Inter-IC sound interface LPCOMP Low power comparator MWU Memory watch unit NFCT Near field communication [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-9001","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/9001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9001"}],"version-history":[{"count":4,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/9001\/revisions"}],"predecessor-version":[{"id":9156,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/9001\/revisions\/9156"}],"wp:attachment":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}