This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

casting pointers

Hello!

I've bumped into the issue with casting...

main.c:
static ble_gap_addr_t addr0;
static uint16_t *p_host0;

int main(void) {
    p_host0 = (void*)&addr0.addr[0];

works fine, but...

beacon.c:
static ble_gap_addr_t addr1;
static uint16_t *p_host1;

void init_beacon(void) {
   p_host1 = (void*)&addr1.addr[0];

hungs in assignment when I call init_beacon() from main()

Where is rake?

Parents
  • Stan,

    If you want copy 2 bytes of array elements, use memcpy(void * destination, const void * source, size_t num) function.

    like this:

    static uint8_t host1[2];
    void init_beacon(void)
    {
        memcpy((void*)host1, (void*)addr1.addr, 2);
    }
    
Reply
  • Stan,

    If you want copy 2 bytes of array elements, use memcpy(void * destination, const void * source, size_t num) function.

    like this:

    static uint8_t host1[2];
    void init_beacon(void)
    {
        memcpy((void*)host1, (void*)addr1.addr, 2);
    }
    
Children
No Data
Related