안녕하세요,암 컨트롤러 lm3s8962
저는 임베디드 코딩에 초보입니다. ARM lm3s8962 컨트롤러에서 일하고 있습니다.
누구든지 아래 코드가하는 일을 설명 할 수 있습니까? 그것은 비트 뱅킹을 구현하지만 그것을 구현하는 방법을 알고 싶습니다.
//*****************************************************************************
//
// Macros for hardware access, both direct and via the bit-band region.
//
//*****************************************************************************
#define HWREG(x) \
(*((volatile unsigned long *)(x)))
#define HWREGH(x) \
(*((volatile unsigned short *)(x)))
#define HWREGB(x) \
(*((volatile unsigned char *)(x)))
#define HWREGBITW(x, b) \
HWREG(((unsigned long)(x) & 0xF0000000) | 0x02000000 | \
(((unsigned long)(x) & 0x000FFFFF) << 5) | ((b) << 2))
#define HWREGBITH(x, b) \
HWREGH(((unsigned long)(x) & 0xF0000000) | 0x02000000 | \
(((unsigned long)(x) & 0x000FFFFF) << 5) | ((b) << 2))
#define HWREGBITB(x, b) \
HWREGB(((unsigned long)(x) & 0xF0000000) | 0x02000000 | \
(((unsigned long)(x) & 0x000FFFFF) << 5) | ((b) << 2))
어, 그게 뭐야? 그것들은 단지 매크로/프로그래머 단축키 일뿐입니다. 그들은 혼자서 아무것도하지 않습니다. – tangrs
답장을 보내 주셔서 감사합니다. hWREG가 hwregh 및 b와 동일한 주소를 반환하는 것처럼 프로세스가 어떻게 진행되는지 알고 싶습니다. 그러나 HWREGBITB (X, b)는 비트를 설정합니다 (그렇지 않은 경우). 잘못) 나는이 비트를 어떻게 세우고 있는지 알고 싶다. 나는 많은 교대 조작에서 혼란 스럽다. plz가 그것을 설명 할 수 있을까? 다시 고맙습니다 – user2159417