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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
用的STM32F072的芯片,在调试CAN程序的时候,用JLINK仿真出来的发送状态永远不是CANTXOK。: P, x! j; o- A
CAN的寄存器显示为三个邮箱先后为Pending状态,之后就状态一直为无邮箱可用。芯片无法发出信号。求解啊,各位大神,难道是硬件的原因吗% A1 Y. A) H" z/ ^
int main(void)% M: t2 \3 i. K' Y
{
0 d- `# M+ L, C1 s/ g; a        
& [$ ]5 a* K8 t+ f    CanTxMsg TxMessage,TxMessage1;
+ @- }9 p0 e, Z4 B& k. P+ W0 u7 ?  GPIO_InitTypeDef       GPIO_InitStructure;
" E7 V7 H7 @0 W/ h) h  CAN_InitTypeDef        CAN_InitStructure;0 y+ T0 ~1 l9 A$ q9 [' g* F+ s: t
  CAN_FilterInitTypeDef  CAN_FilterInitStructure;: I5 U/ T* W/ M' ^
    NVIC_InitTypeDef       NVIC_InitStructure;   
0 e$ W. `1 o% U: m  //CAN¿úÏà1Øê±Öó8 v4 l0 o) r6 d
    RCC_AHBPeriphclockCmd(RCC_AHBPeriph_GPIOA,ENABLE); //ê1ÄüGPIOAê±Öó
$ p% F) G7 b0 A1 ]3 }4 X" |$ B/ X# }
- [$ C* _& G. w: D, [( U) D* W    RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN,ENABLE);//ê1ÄüCAN1ê±Öó    1 w$ _1 n7 j* n9 h; Q: N' O
   
! {  r0 A( o6 u- _! [    //can1¿úòy½ÅÅäÖÃ
% {7 H  `: i6 M, m5 a  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11|GPIO_Pin_12;//3õê¼»ˉ
# V/ i  N0 K5 W4 A5 b1 U    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//¸′óÃ1|Äü
2 Y: J2 {3 `: I, y# s5 ~    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;    //Ëù¶è
, P9 c7 W7 }, l) q$ i8 [- k% N    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //íÆíì¸′óÃêä3ö3 T9 R  ]# X. ]: J* @
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; //éÏà-
# B! H# T  Q8 Z" ]- b5 R5 }5 x    GPIO_Init(GPIOA,&GPIO_InitStructure);
. U/ W3 U- t# P7 b9 F! Y        
- y5 ~) z5 ?' r) A! {( y" e    GPIO_PinAFConfig(GPIOA,GPIO_PinSource11,GPIO_AF_0); 8 l9 O  }- M: w3 X
    GPIO_PinAFConfig(GPIOA,GPIO_PinSource12,GPIO_AF_0); & ^" k% D* u1 \
   
1 L2 f! Z2 m2 V, _0 ]  //CAN1¿úμÄÏà1ØÅäÖà   * A9 G1 ?, V. G0 B/ P7 p3 h5 t2 K
    CAN_InitStructure.CAN_TTCM=DISABLE;  
: ]. G' {, _4 v/ m6 u- B3 Q0 C    CAN_InitStructure.CAN_ABOM=ENABLE;3 [0 j& D' k+ R" @, `8 n- [
    CAN_InitStructure.CAN_AWUM=DISABLE;
7 \; I0 C! X% h: i    CAN_InitStructure.CAN_NART=DISABLE;* V+ q* z. g7 |* k) l; E
    CAN_InitStructure.CAN_RFLM=DISABLE;+ w; H0 y- \% \& D, R+ u6 S
    CAN_InitStructure.CAN_TXFP=ENABLE; 3 `' x! }' I! E! v
    CAN_InitStructure.CAN_Mode=CAN_Mode_Normal;
0 U0 u4 K# f  p. p# j6 L    CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;
) Z: p) Q& U/ v8 a. T; q1 m! ?    CAN_InitStructure.CAN_BS1=CAN_BS1_10tq;4 |$ x' o4 _9 L4 C
    CAN_InitStructure.CAN_BS2=CAN_BS2_7tq;# X$ U: V9 b# @+ E8 M1 C
    CAN_InitStructure.CAN_Prescaler=4;3 h) j2 Q& Q- E( ^
   
8 y7 E6 d- i' }//    CAN_InitStructure.CAN_Mode = CAN_Mode_LoopBack;           // »Ø»·2aêÔÄ£ê½
8 O" w$ ~( d# N: ]$ S0 r4 p3 y& R* j( I: v% Y3 y# j$ T
    CAN_Init(CAN,&CAN_InitStructure);
7 {+ ^! a; `7 U, |7 n4 _    /* CAN filter init */
- v" \0 F, U  \0 v    CAN_FilterInitStructure.CAN_FilterNumber=0;      
1 k; b5 I5 R: c4 y/ H! ~    CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;    5 X- z, t9 p# H+ C) v+ q6 S" P
    CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit; 6 B, M/ {) P9 P7 Q$ o' `
    CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;- G/ Z- U; u9 t
    CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;
# K# Q" F$ P5 q' g4 l/ f    CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;% j6 M# ?$ V: J( b8 u
    CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000;
0 @8 J. y; N: ]. E    CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_Filter_FIFO0;
* l2 x* ^. k6 s" e: M; k' J    CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;/ D, L9 M$ }0 c, z& Y
    CAN_FilterInit(&CAN_FilterInitStructure);! G9 e, M% K! D
  & W7 e8 i3 m. l) H5 I$ G0 S
         TxMessage.StdId = 0x12;
3 O0 v7 M1 i2 t7 [% r: o        TxMessage.ExtId = 0x12;0 q7 T+ r& ^! ~/ k! D' r+ a
        TxMessage.RTR = CAN_RTR_Data;           //0x00000000;. c" D* k. T3 d2 M
        TxMessage.IDE = CAN_ID_STD;                    //0x00000000;( p5 K3 z9 y5 V& V0 w
        TxMessage.DLC = 8;
4 ^0 U, i) F; B& @  t        TxMessage.Data[0] = 0x01;% A* r1 ^: g) S# s; ~2 a, p
        TxMessage.Data[1] = 0x00;6 X/ M  o9 W. \3 q3 @
        TxMessage.Data[2] = 0x00;3 `5 s+ D  E! C* S" Q5 A
        TxMessage.Data[3] = 0x00;
, F/ ?/ ]3 L% m: R& q% r6 {, T' y        TxMessage.Data[4] = 0x00;; [. e4 t" X! A& e+ k
        TxMessage.Data[5] = 0x00;7 i$ v: _, `% G. e5 Z6 O( y( I- {
        TxMessage.Data[6] = 0x00;; P& t8 V& Y, E! l/ R/ R
        TxMessage.Data[7] = 0x00;
+ i9 s1 d3 x6 M. ?        while (1)
2 k: ^8 [& o9 T; U        {; |3 |2 r# g; O' [! o. w
                GPIO_WriteBit(GPIOB,GPIO_Pin_9,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_9)));
& o- ^  E1 d. t% e6 u# Z# `                ii = 0x3fffff;
( O8 O' b* z) e: E                CAN_Transmit(CAN, &TxMessage);
# G% b+ O0 }4 }               while(ii--);
; Y$ v) W7 |2 S5 v4 Y. _* p8 T7 l               
0 ]7 H! e( m; y3 f! C- p        }/ M% K( I6 w3 [; B
}
/ [0 @& L/ A- [

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 23:22 , Processed in 0.171875 second(s), 23 queries , Gzip On.

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

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

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