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.

CCS/TM4C1294NCPDT: Need Example project for CAN communication between two TM4C1294NCPDT

Part Number: TM4C1294NCPDT
Other Parts Discussed in Thread: EK-TM4C1294XL

Tool/software: Code Composer Studio

i have used example program simple_tx and simple_rx provided by TI but i couldn't the error everytime i end up with new error so plz someone help me to get things done

THANK YOU in advance...

  • Hi,

      Can you clarify what errors you are getting? Do you have the transceivers on the nodes? Do you have the scope capture or logic analyzer capture to illustrate what errors you are getting?

    In this post https://e2e.ti.com/support/microcontrollers/other/f/908/p/817657/3029826?tisearch=e2e-sitesearch&keymatch=can%25252520example#3029826, Bob uploaded the working CCS projects for both the tx and rx. You may need to make some modification to adapt to the TM4C129.

  • hi charles,

        i am using mcp2551 has transreciver i will attach my buildlog and schematic here and i am using both TM4C1294NCPDT boards

  • This is the buildlog

    **** Build of configuration Debug for project CAN_simple_tx ****
    
    "C:\\ti\\ccsv7\\utils\\bin\\gmake" -k all 
    'Building file: ../can.c'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me -O2 --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/include" --include_path="C:/ti/TivaWare_C_Series-2.1.4.178" --advice:power=all --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=TARGET_IS_TM4C129_RA0 -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --ual --preproc_with_compile --preproc_dependency="can.d"  "../can.c"
    "../can.c", line 344: remark #1528-D: (ULP 3.1) Detected flag polling using CAN_IF1CRQ_BUSY. Recommend using an interrupt combined with enter LPMx and ISR
    "../can.c", line 366: remark #1528-D: (ULP 3.1) Detected flag polling using CAN_IF1CRQ_BUSY. Recommend using an interrupt combined with enter LPMx and ISR
    "../can.c", line 391: remark #1528-D: (ULP 3.1) Detected flag polling using CAN_IF1CRQ_BUSY. Recommend using an interrupt combined with enter LPMx and ISR
    "../can.c", line 626: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1105: remark #1528-D: (ULP 3.1) Detected flag polling using CAN_IF1CRQ_BUSY. Recommend using an interrupt combined with enter LPMx and ISR
    "../can.c", line 1123: remark #1528-D: (ULP 3.1) Detected flag polling using CAN_IF1CRQ_BUSY. Recommend using an interrupt combined with enter LPMx and ISR
    "../can.c", line 1504: remark #1528-D: (ULP 3.1) Detected flag polling using CAN_IF1CRQ_BUSY. Recommend using an interrupt combined with enter LPMx and ISR
    "../can.c", line 1550: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1564: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1609: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1655: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1656: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1670: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1681: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1690: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1700: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1706: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1712: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1722: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1723: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1728: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1736: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1741: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1748: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1755: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1763: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1771: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1882: remark #1528-D: (ULP 3.1) Detected flag polling using CAN_IF1CRQ_BUSY. Recommend using an interrupt combined with enter LPMx and ISR
    "../can.c", line 2049: remark #1528-D: (ULP 3.1) Detected flag polling using CAN_IF1CRQ_BUSY. Recommend using an interrupt combined with enter LPMx and ISR
    "../can.c", line 1865: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1889: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1890: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1891: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1892: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 1893: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../can.c", line 2094: remark #1528-D: (ULP 3.1) Detected flag polling using CAN_IF1CRQ_BUSY. Recommend using an interrupt combined with enter LPMx and ISR
    'Finished building: ../can.c'
    ' '
    'Building file: ../simple_tx.c'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me -O2 --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/include" --include_path="C:/ti/TivaWare_C_Series-2.1.4.178" --advice:power=all --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=TARGET_IS_TM4C129_RA0 -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --ual --preproc_with_compile --preproc_dependency="simple_tx.d"  "../simple_tx.c"
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13832: warning #48-D: incompatible redefinition of macro "GPIO_PA2_SSI0CLK" (declared at line 2354)
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13837: warning #48-D: incompatible redefinition of macro "GPIO_PA3_SSI0FSS" (declared at line 2356)
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13875: warning #48-D: incompatible redefinition of macro "GPIO_PB2_I2C0SCL" (declared at line 2372)
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13879: warning #48-D: incompatible redefinition of macro "GPIO_PB3_I2C0SDA" (declared at line 2375)
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13970: warning #48-D: incompatible redefinition of macro "GPIO_PF0_TRD2" (declared at line 1900)
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13975: warning #48-D: incompatible redefinition of macro "GPIO_PF1_TRD1" (declared at line 2479)
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13979: warning #48-D: incompatible redefinition of macro "GPIO_PF2_TRD0" (declared at line 2483)
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13983: warning #48-D: incompatible redefinition of macro "GPIO_PF3_TRCLK" (declared at line 2488)
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13988: warning #48-D: incompatible redefinition of macro "GPIO_PF4_TRD3" (declared at line 1922)
    "../simple_tx.c", line 367: warning #112-D: statement is unreachable
    'Finished building: ../simple_tx.c'
    ' '
    'Building file: ../tm4c1294ncpdt_startup_ccs.c'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me -O2 --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/include" --include_path="C:/ti/TivaWare_C_Series-2.1.4.178" --advice:power=all --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=TARGET_IS_TM4C129_RA0 -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --ual --preproc_with_compile --preproc_dependency="tm4c1294ncpdt_startup_ccs.d"  "../tm4c1294ncpdt_startup_ccs.c"
    "../tm4c1294ncpdt_startup_ccs.c", line 237: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
    "../tm4c1294ncpdt_startup_ccs.c", line 255: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
    "../tm4c1294ncpdt_startup_ccs.c", line 273: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
    'Finished building: ../tm4c1294ncpdt_startup_ccs.c'
    ' '
    'Building file: ../uartstdio.c'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me -O2 --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/include" --include_path="C:/ti/TivaWare_C_Series-2.1.4.178" --advice:power=all --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=TARGET_IS_TM4C129_RA0 -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --ual --preproc_with_compile --preproc_dependency="uartstdio.d"  "../uartstdio.c"
    "../uartstdio.c", line 668: remark #2623-D: (ULP 5.4) Detected an assignment to a type with size less than int. To avoid unnecessary sign extension, use int-sized types for local varaibles and convert to smaller types for static storage.
    "../uartstdio.c", line 878: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
    "../uartstdio.c", line 1044: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
    "../uartstdio.c", line 1139: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
    "../uartstdio.c", line 134: remark #1534-D: (ULP 7.1) Detected use of global variable "g_pcHex" within one function "UARTvprintf". Recommend placing variable in the function locally
    'Finished building: ../uartstdio.c'
    ' '
    'Building target: CAN_simple_tx.out'
    'Invoking: ARM Linker'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me -O2 --advice:power=all --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=TARGET_IS_TM4C129_RA0 -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --ual -z -m"bitband_ccs.map" --heap_size=0 --stack_size=512 -i"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/lib" -i"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="CAN_simple_tx_linkInfo.xml" --rom_model -o "CAN_simple_tx.out" "./can.obj" "./simple_tx.obj" "./tm4c1294ncpdt_startup_ccs.obj" "./uartstdio.obj"  -llibc.a -l"/driverlib/ccs/Debug/driverlib.lib" 
    <Linking>
    error #10008-D: cannot find file "/driverlib/ccs/Debug/driverlib.lib"
    warning #10247-D: creating output section ".text" without a SECTIONS specification
    warning #10247-D: creating output section ".const" without a SECTIONS specification
    warning #10247-D: creating output section ".data" without a SECTIONS specification
    warning #10247-D: creating output section ".cinit" without a SECTIONS specification
    
     undefined              first referenced
      symbol                    in file     
     ---------              ----------------
     GPIOPinConfigure       ./simple_tx.obj 
     GPIOPinTypeCAN         ./simple_tx.obj 
     IntEnable              ./can.obj       
     SysCtlClockFreqSet     ./simple_tx.obj 
     SysCtlDelay            ./simple_tx.obj 
     SysCtlPeripheralEnable ./simple_tx.obj 
    remark #10371-D: (ULP 1.1) Detected no uses of low power mode state changing instructions
    
    
    >> Compilation failure
    makefile:143: recipe for target 'CAN_simple_tx.out' failed
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "CAN_simple_tx.out" not built
    gmake: *** [CAN_simple_tx.out] Error 1
    gmake: Target 'all' not remade because of errors.
    
    **** Build Finished ****
    

  • The below is your build errors. This means to me that you did not provide the TivaWare library. If this is the error you are talking in your original post then please add the driverlib.lib to the linker search path. See below.

     undefined              first referenced
      symbol                    in file     
     ---------              ----------------
     GPIOPinConfigure       ./simple_tx.obj 
     GPIOPinTypeCAN         ./simple_tx.obj 
     IntEnable              ./can.obj       
     SysCtlClockFreqSet     ./simple_tx.obj 
     SysCtlDelay            ./simple_tx.obj 
     SysCtlPeripheralEnable ./simple_tx.obj 

  •  hello charles,

            thank you for your response my linker search path has been included driver.lib

  • It was linked earlier so no changes in my error please look into my compiler include path once 

    Regards,

    Darshan

  • Where did you get the CAN_simple_tx project? It is missing two things. First of all, it misses the variable ORIGINAL_PROJECT_ROOT. See below after I added. Second thing is that you miss the linker command file in your project. I also added the CAN_Simple_tx.cmd

    Now it compiles fine. I will suggest in the future, you start with a TivaWare example and then modify it for your application.

    Here is the project again after adding the linker command file and the addition of the  ORIGINAL_PROJECT_ROOT. In CCS under File -> Import to import the project. 

    7801.CAN_simple_tx.zip

    Also note today is a national holiday here. Response will be delayed.

  • Thank you so much Charles it compiles fine can u plz share the CAN simple_rx zip file too and the uart baud rate is 115200 right?

  • HI,

      The only difference between the CAN_simple_tx and CAN_simple_rx is the file simple_tx.c vs. simple_rx.c. Why don't you copy the CAN_simple_tx project to CAN_simple_rx as another project and simply replace the simple_tx.c with the simple_rx.c.

  • HI,

       I have done those things and i ended up getting the same error which i used to get earlier so i asked for the zip file.

    thank you,

    Darshan

    **** Build of configuration Debug for project darshan_rx ****
    
    "C:\\ti\\ccsv7\\utils\\bin\\gmake" -k all 
    'Building file: ../simple_rx.c'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me -O2 --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/include" --include_path="C:/ti/TivaWare_C_Series-2.1.4.178/examples/boards/ek-tm4c1294xl" --include_path="C:/ti/TivaWare_C_Series-2.1.4.178" --advice:power=all --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=TARGET_IS_TM4C129_RA0 -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --ual --preproc_with_compile --preproc_dependency="simple_rx.d"  "../simple_rx.c"
    
    >> Compilation failure
    subdir_rules.mk:16: recipe for target 'simple_rx.obj' failed
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13832: warning #48-D: incompatible redefinition of macro "GPIO_PA2_SSI0CLK" (declared at line 2354)
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13837: warning #48-D: incompatible redefinition of macro "GPIO_PA3_SSI0FSS" (declared at line 2356)
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13875: warning #48-D: incompatible redefinition of macro "GPIO_PB2_I2C0SCL" (declared at line 2372)
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13879: warning #48-D: incompatible redefinition of macro "GPIO_PB3_I2C0SDA" (declared at line 2375)
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13970: warning #48-D: incompatible redefinition of macro "GPIO_PF0_TRD2" (declared at line 1900)
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13975: warning #48-D: incompatible redefinition of macro "GPIO_PF1_TRD1" (declared at line 2479)
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13979: warning #48-D: incompatible redefinition of macro "GPIO_PF2_TRD0" (declared at line 2483)
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13983: warning #48-D: incompatible redefinition of macro "GPIO_PF3_TRCLK" (declared at line 2488)
    "C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/pin_map.h", line 13988: warning #48-D: incompatible redefinition of macro "GPIO_PF4_TRD3" (declared at line 1922)
    "../simple_rx.c", line 258: error #167: too few arguments in function call
    "../simple_rx.c", line 258: error #18: expected a ")"
    "../simple_rx.c", line 438: warning #112-D: statement is unreachable
    2 errors detected in the compilation of "../simple_rx.c".
    gmake: *** [simple_rx.obj] Error 1
    gmake: Target 'all' not remade because of errors.
    
    **** Build Finished ****
    

  • Here is the CAN_simple_rx project. The UART2 is used for Virtual COM port in this project. You need to change the JP4 and JP5 to vertical position. Refer to the EK-TM4C1294XL LaunchPad User's Guide for detail.

    8154.CAN_simple_rx.zip

  • Hi charles,

    sry for the delay there was a holiday here, i have used UART earlier to check other peripherals and printed hello world program too,

    i have set baud rate to 115200 but now i am getting some garbage value below i have attached by schematic and screenshots.

    Regards,

    Darshan

  • I told you in my last post to change the JP4 and JP5 to vertical position and you still miss it. Your picture still shows them in horizontal position. The reason to change the position is because by default the PA0/PA1 are used for UART0, not CAN. If you want to use CAN0 then you cannot use UART0. In order to use the COM port, you will need to change to UART2. Please refer the EK-TM4C1294XL user's guide for detail.

  • hello,

     i made mistake in selecting pins its PA0 and PA1 for can rx and can tx still uart issue not solved

    thank you,

  • Again, did you change the JP4 and JP5 to vertical position like below?

    I just run the Simple_can_rx example as is. Without connecting the CAN0 to the network, I at least see the UART message displayed. 

    Also why are you connecting PB4/PB5 from the TM4C1294CPDT MCU to the transceiver? The CAN0 is on PA0 and PA1.

  • Thank you charles for  all  your response much appreciated one,

    i changed the jumpers to vertical position as u said uart2 is working fine in can_rx but i couldnt recieve data from the can_tx , so i added uart2 for can_tx to confirm whether its transmitting the data or not but uart2 doesn't seems to working in my can_rx board , so i downloaded the same can_tx program to my another slave board which i considered has can_rx  earlier where uart2 works,

    so what i am trying to say his the same project file which has uart2 function runs in one board but doesn't respond in  another board(downloading same project file)both boards configuration is same in terms of jumpers 

  • So the one board where uart2 is not working i changed again jumpers to horizontal position to check whether uart0 is working even uart0 is not rseponding earlier i have run 'hello world' example in the same board for uart0 and i had got the result but now even that is not working. how can i troubleshoot this problem

    regards,

    Darshan

  • Darshan v m said:
    i am using mcp2551 has transreciver i will attach my buildlog and schematic here and i am using both TM4C1294NCPDT boards

    The MCP2551 operates with Vdd at +5V. 

    It says in the TM4C1294NCPDT datasheet:

    Caution – All device I/Os pins, except for PB1, are NOT 5V tolerant; voltages in excess of the limits shown in Table 27-6 on page 1820 can permanently damage the device. PB1 is used for the USB's USB0VBUS signal, which requires a 5-V input.

    Not sure if that is the cause of your problems.

    Can you try try using CAN transceivers which operate from 3.3V? 

  • Darshan v m said:
    So the one board where uart2 is not working i changed again jumpers to horizontal position to check whether uart0 is working even uart0 is not rseponding earlier i have run 'hello world' example in the same board for uart0 and i had got the result but now even that is not working. how can i troubleshoot this problem

     Are you saying after changing to horizontal position, the "Hello World" doesn't work anymore?

     I'm still confused with what your problem is.

     - You have a RX board and and TX board, correct? 

     - The RX board is not receiving data even though the UART2 is working. Is this the correct understanding? If this is the case, then show what is on the CAN bus using a scope or logic analyzer? Is the TX board sending data on the bus?

     - You added UART2 to your TX board. Did the UART2 work? Did the TX board send data on the bus? Did you change the TX board to the vertical position?