STM32F103C8T6除錯CAN通訊

2021-09-24 14:08:46 字數 1199 閱讀 5543

這是我這兩天做的乙個功能,有一些細節沒注意,導致移植沒通,現在記下來。

一、硬體部分

stm32f103c8t6 :2個,記為stm32(1),stm32(2)

tja1050(can模組):2個,記為tja(1),tja(2)

stm32(1)的rx接tja(1)的rx,tx接tx。tja(1)的can_h接另乙個tja(2)的can_h,can_l接can_l。然後tja(2)的rx接stm32(2)的rx,tx接tx。

二、軟體部分

u8 can1_mode_init(u8 tsjw,u8 tbs2,u8 tbs1,u16 brp,u8 mode)

#if can1_rx0_int_enable 

void usb_lp_can1_rx0_irqhandler(void)

#endif

u8 can1_send_msg(u8* msg,u8 len)

int main(void)

{

u8 i,cnt,len,res;

u8 canbuf[8];

nvic_prioritygroupconfig(nvic_prioritygroup_2);

uart_init();

can1_mode_init(can_sjw_1tq,can_bs2_6tq,can_bs1_7tq,6,0);

printf("stm32 startup!\r\n");

while(1)

{ #if 1

delay_ms(1000);

len = 8;

cnt = 'a';

for(i=0;i兩個stm32都燒寫這個程式,然後接上串列埠,每隔1s會收到另乙個stm32發來的8個位元組的abcdefgh。

注意事項:

1、tja1050供電5v

void usart1_data(unsigned char *lb,unsigned int len)

{ unsigned int i;

for(i=0;i3、can_tx和can_rx的gpio屬性配置不一樣,要注意一下。

4、can1_rx0_int_enable置為1

STM32F103C8T6 內部 FLASH讀寫

u16 people id 50 假設公司最多50人 u16 people clock t 50 每個人簽到次數 u16 people num 2 人數 define debug define flash size 64 所選mcu的flash容量大小 單位為k if flash size 256 ...

STM32F103C8T6學習筆記 中斷

1 nvic 巢狀向量中斷控制器 即中斷優先順序管理 scr aircr暫存器 bit10 8 111 0位搶占優先順序 4位響應優先順序 這是整個系統的 每乙個中斷 對應ip暫存器 可設定成搶占優先順序 響應優先順序0 16 這是對應具體乙個中斷的 110 1位搶占優先順序 3位響應優先順序 ip...

《STM32》F103C8T6最小系統

復位電路是一種用來使電路恢復到起始狀態的電路裝置,它的操作原理與計算器有著異曲同工之妙,只是啟動原理和手段有所不同。復位電路,就是利用它把電路恢復到起始狀態。就像計算器的清零按鈕的作用一樣,以便回到原始狀態,重新進行計算。和計算器清零按鈕有所不同的是,復位電路啟動的手段有所不同。一是在給電路通電時馬...