這是我這兩天做的乙個功能,有一些細節沒注意,導致移植沒通,現在記下來。
一、硬體部分
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最小系統
復位電路是一種用來使電路恢復到起始狀態的電路裝置,它的操作原理與計算器有著異曲同工之妙,只是啟動原理和手段有所不同。復位電路,就是利用它把電路恢復到起始狀態。就像計算器的清零按鈕的作用一樣,以便回到原始狀態,重新進行計算。和計算器清零按鈕有所不同的是,復位電路啟動的手段有所不同。一是在給電路通電時馬...