This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2652RSIP: Register level programing (CC2652RSIP)

Part Number: CC2652RSIP
Other Parts Discussed in Thread: SYSBIOS, CC2652R

Hello;

I try to learn CC2652RSIP, it have an arm cortex M4-f CPU.

I want to use register level programing.

Are there any information and documents for register level programing about CC2652RSIP.

Best Regards.

  • Hi,

    You can refer to the technical reference manual of the device https://www.ti.com/lit/pdf/swcu185

    Additionally, you can refer to the TI drivers and driverlib in the SIMPLELINK-CC13XX-CC26XX-SDK.

    Best regards,

  • Hi,

    Thank you for your quick response,

    I downloaded SPIMPLELINK.

    For example I can not find "h file" for chip.

    How can I setup clock?

    May you send me an example.

    Best Regards.

  • Hi,

    Please refer to the examples provided within the SDK. The example "clock" stored in <SDK>\examples\rtos\LP_CC2652RSIP\sysbios\clock may particularly help you.

    Best regards,

  • Hi,

    I found something but there is a problem.

    For example on MSP430 Register may set like this;

    TA0CTL = TASSEL__SMCLK | MC__UP | ID_3  | TAIE; //Timer_Ax Control Register

    --

    On the other hand CC2652 have same definition but I did not find  the way how I change register bits

    Best Regards.

  • Hi,

    When it comes to register level programming, the CC2652R and the MSP430 devices are very different.

    As mentioned before, please leverage the driverlib code provided in the SDK (in <SDK>\source\ti\devices\cc13x2_cc26x2\driverlib).

    Additionally, you could start your project using the "empty" example (see <SDK>\examples\rtos\LP_CC2652RSIP\drivers\empty). Then, you could use the code snippet below to toggle a PIN.

    #include <inc/hw_types.h>
    #include <inc/hw_memmap.h>
    #include <inc/hw_gpio.h>
    #include <driverlib/ioc.h> 
    
    //... 
    
        HWREG(GPIO_BASE+GPIO_O_DOE31_0) = ((HWREG(GPIO_BASE+GPIO_O_DOE31_0) & ~(1<<6)) | (1<<6)); 
        HWREGB(GPIO_BASE+GPIO_O_DOUT3_0+IOID_6) = 1; 
        HWREGB(GPIO_BASE+GPIO_O_DOUT3_0+IOID_6) = 0; 
    

    With all that being said, we highly recommend users to leverage the drivers, examples and stacks we provide rather than rewriting those.

    I hope this will help,

    Best regards,