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

Using the ODR register

Hello

I am working on a project that uses the dma to move data from program memory to peripherals...the example I am looking at set the dma address gpioe address offset 0x15...I notice that the stm manual list the odr offset address as 0x14...what are offsets 0x15, 0x16, 0x17...the example has the data show up on gpioe 8 thr 15...how do you set different gpio pins and do the pins have to be consecutive (8 thr 15) or can you set the dma data to use 4,6,8,10,12,13,14,15 pins

Parents
  • The register is mapped into a 32-bit address space, ie 4 consecutive bytes

    The register uses only 16-bits to reflect the output pins. Thus the byte at +0x14 is pins 0 thru 7, and +0x15 is pins 8 thru 15

    You can write this as a 16-bit word, or 32-bit word also.

    There is another bit set/bit clear register which is 32-bit wide, the first 16-bit perform one function (set) the other 16-bit perform the other function (clear)

Reply
  • The register is mapped into a 32-bit address space, ie 4 consecutive bytes

    The register uses only 16-bits to reflect the output pins. Thus the byte at +0x14 is pins 0 thru 7, and +0x15 is pins 8 thru 15

    You can write this as a 16-bit word, or 32-bit word also.

    There is another bit set/bit clear register which is 32-bit wide, the first 16-bit perform one function (set) the other 16-bit perform the other function (clear)

Children