找回密码
 注册
关于网站域名变更的通知
查看: 251|回复: 2
打印 上一主题 下一主题

路过的各位朋友帮忙给看看啊!谢谢啦

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-10-9 14:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
用的STM32F072的芯片,在调试CAN程序的时候,用JLINK仿真出来的发送状态永远不是CANTXOK。
: g+ e! o9 R+ U: g$ t5 a) \$ V6 nCAN的寄存器显示为三个邮箱先后为Pending状态,之后就状态一直为无邮箱可用。芯片无法发出信号。求解啊,各位大神,难道是硬件的原因吗3 Q. u7 L2 B4 m) y5 `
int main(void)
% ]+ S! Y4 s! H; Z+ i- P6 L  e{) i! R0 Q, w  h6 A5 k! n3 E; N! F
        - O9 y- Y8 u; `  S+ Y' F5 `' R
    CanTxMsg TxMessage,TxMessage1;5 l# @1 \4 e. t" {
  GPIO_InitTypeDef       GPIO_InitStructure;/ B( W0 q: e5 u% Q
  CAN_InitTypeDef        CAN_InitStructure;
* f1 \" N1 T7 Y4 o' S  CAN_FilterInitTypeDef  CAN_FilterInitStructure;2 S) S. j' b$ ^3 Y$ N
    NVIC_InitTypeDef       NVIC_InitStructure;   
8 G0 F7 c2 r: u3 E) Z  //CAN¿úÏà1Øê±Öó
. O  g, d2 h& c0 l* I" E    RCC_AHBPeriphclockCmd(RCC_AHBPeriph_GPIOA,ENABLE); //ê1ÄüGPIOAê±Öó
. `1 Y) g: {; l$ a) y9 Q. D2 B4 U0 x
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN,ENABLE);//ê1ÄüCAN1ê±Öó   
3 u: e  |; T( i    $ h6 @) W7 q, |7 S/ J# R! g- |7 W  y4 m
    //can1¿úòy½ÅÅäÖÃ
+ I6 @5 S( X' f  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11|GPIO_Pin_12;//3õê¼»ˉ! |/ D9 V, F3 S5 M
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//¸′óÃ1|Äü
9 X( ~% r6 N* @; I, d8 h1 ]    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;    //Ëù¶è2 ^7 l4 u& H# @9 d( R7 M4 }
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //íÆíì¸′óÃêä3ö
' c# o* m) i( a; N7 C    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; //éÏà-
( W# ?5 Z, _4 U/ B8 j% t5 c    GPIO_Init(GPIOA,&GPIO_InitStructure);
* t: O* o; i+ C  l, Y        
& s  M$ e; I% s6 k5 n! n# o) ?    GPIO_PinAFConfig(GPIOA,GPIO_PinSource11,GPIO_AF_0);
& N3 o* _- r' \+ r6 ?    GPIO_PinAFConfig(GPIOA,GPIO_PinSource12,GPIO_AF_0); & e4 Z6 s6 ]8 `
   
7 o7 }2 `& J7 ^1 j* u5 M5 b- z' W9 L  //CAN1¿úμÄÏà1ØÅäÖà   ( C6 z4 t: U8 w# P6 s4 b8 K
    CAN_InitStructure.CAN_TTCM=DISABLE;  7 u$ w  U; K! o7 p" M, F
    CAN_InitStructure.CAN_ABOM=ENABLE;) L# V  g3 K$ k; D& R+ W6 Y
    CAN_InitStructure.CAN_AWUM=DISABLE;
0 |) ?7 h7 W4 E( G0 A: q    CAN_InitStructure.CAN_NART=DISABLE;
9 c9 g' L% ~1 J: K1 U6 n4 X    CAN_InitStructure.CAN_RFLM=DISABLE;4 V2 x# k% x% I( n
    CAN_InitStructure.CAN_TXFP=ENABLE;
7 _1 t, ?, `- v    CAN_InitStructure.CAN_Mode=CAN_Mode_Normal;- q+ f' u6 q9 F0 R; i1 H3 A
    CAN_InitStructure.CAN_SJW=CAN_SJW_1tq; 1 D5 x; i0 ^7 D, V
    CAN_InitStructure.CAN_BS1=CAN_BS1_10tq;
" c+ H$ z. d0 ], ^' X: ^6 X    CAN_InitStructure.CAN_BS2=CAN_BS2_7tq;7 B; C3 J' d+ F9 c' b" S: M
    CAN_InitStructure.CAN_Prescaler=4;- k6 Y2 [% }) d1 j' j
   
% i( p$ q) I& K9 @$ N4 B//    CAN_InitStructure.CAN_Mode = CAN_Mode_LoopBack;           // »Ø»·2aêÔÄ£ê½
3 s7 s8 S" p- y( {" O
& h+ o2 J/ Y% Z5 o% ~    CAN_Init(CAN,&CAN_InitStructure);$ }) k8 \5 Y! O1 R7 ?2 G  x5 Y
    /* CAN filter init */
  {' X  C( F" W& W    CAN_FilterInitStructure.CAN_FilterNumber=0;      
* S; M2 Y. [# V: ]4 Z0 h    CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;    7 T% k9 w: f3 ?$ [) L
    CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;
% _+ C9 L* T' c6 c" v8 o    CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;- x# [; `1 R  |, z  E) \/ |! z
    CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;
& L! a" M3 N7 N& I3 }9 z% D    CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;
: _9 b7 p5 {9 y$ U    CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000;
0 K: d" Y# M( H0 L* K- ^! @7 N    CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_Filter_FIFO0;1 R% _5 b2 j$ }. X: m& Q
    CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;' x% [, b4 M- x* y$ X' A* v! ?- B1 }
    CAN_FilterInit(&CAN_FilterInitStructure);
9 z- Z% z" I/ l2 M2 k' ^, j4 j  
/ U; t! A% _/ R  b6 x) C( o         TxMessage.StdId = 0x12;
- `& ]' d; I# _0 ^7 i7 U' a        TxMessage.ExtId = 0x12;- Q) l1 n, p2 K: n1 V
        TxMessage.RTR = CAN_RTR_Data;           //0x00000000;
/ m& s6 {4 B6 l8 N+ r5 O7 O        TxMessage.IDE = CAN_ID_STD;                    //0x00000000;# r& E2 h; x3 a% }1 `
        TxMessage.DLC = 8;
& s$ [4 @4 H- j- }        TxMessage.Data[0] = 0x01;9 m% |: ~# T, a  k; U
        TxMessage.Data[1] = 0x00;
! f% U) @! n5 `3 O3 {7 \        TxMessage.Data[2] = 0x00;
8 s1 L$ H+ W1 P, b" [7 }/ ]        TxMessage.Data[3] = 0x00;
* P5 I$ U# f7 ^3 ?% E8 {        TxMessage.Data[4] = 0x00;/ H) a6 e% ^5 b1 y! \
        TxMessage.Data[5] = 0x00;
, F8 u9 {8 d! H% Q        TxMessage.Data[6] = 0x00;
5 b$ k+ H4 E9 N! y8 u4 O' _8 Q' |* u        TxMessage.Data[7] = 0x00;
! o1 L, U; ~, V( C        while (1)# `+ G8 o% k5 n4 B$ g2 S- F) Q
        {6 Y1 D  p- o  l1 ]5 k3 i
                GPIO_WriteBit(GPIOB,GPIO_Pin_9,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_9)));" q, O: a. P6 v7 g( H2 p
                ii = 0x3fffff;1 Q" n7 }5 s  M- Y1 t) Y8 i. z! I
                CAN_Transmit(CAN, &TxMessage);
, C6 B0 B2 |- R6 S               while(ii--);
0 Y8 _- x8 d- @/ T$ ]1 P% {  w               
6 O) M, B9 Q# M) Z        }
4 T" }* _0 |3 b2 n8 n+ P' I' {}" ~3 E2 c! n. |6 z8 C4 a

该用户从未签到

3#
发表于 2020-10-9 19:21 | 只看该作者
路过的帮你顶一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 02:05 , Processed in 0.156250 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表