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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
用的STM32F072的芯片,在调试CAN程序的时候,用JLINK仿真出来的发送状态永远不是CANTXOK。
/ y4 K* U" \0 ?; G, mCAN的寄存器显示为三个邮箱先后为Pending状态,之后就状态一直为无邮箱可用。芯片无法发出信号。求解啊,各位大神,难道是硬件的原因吗
9 w. K5 ]1 P+ A' s8 z2 ]int main(void)
8 ~0 c( k  l+ l/ a; F{/ N8 D- m; d  n  m9 j% X
        
" }# q' K" L# f! W    CanTxMsg TxMessage,TxMessage1;
, _! G/ `1 h9 N, Z. j  GPIO_InitTypeDef       GPIO_InitStructure;# K( X7 U5 `. n. c/ W
  CAN_InitTypeDef        CAN_InitStructure;4 {- c- X* h( {3 {2 j/ a( ^( f
  CAN_FilterInitTypeDef  CAN_FilterInitStructure;
- t9 n6 z# ]# N% c3 z    NVIC_InitTypeDef       NVIC_InitStructure;   
# Q$ [5 |6 V7 C: k  //CAN¿úÏà1Øê±Öó+ q3 m0 ?* H/ S( Z* B4 y3 T1 p
    RCC_AHBPeriphclockCmd(RCC_AHBPeriph_GPIOA,ENABLE); //ê1ÄüGPIOAê±Öó
2 C. c) G1 X# G. u. a  \( a( h& W7 s+ k
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN,ENABLE);//ê1ÄüCAN1ê±Öó   
5 Y# O! @  L' M, _( H# r4 i0 m$ H2 a    ! X$ u" P1 f- \+ u- U
    //can1¿úòy½ÅÅäÖÃ
4 Q/ \$ ]) m2 R/ E1 E0 n  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11|GPIO_Pin_12;//3õê¼»ˉ
1 [. D' _# w" l4 h" ]+ }8 Y% B    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//¸′óÃ1|Äü9 u! r; V1 ?, |" ?% W
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;    //Ëù¶è; s4 k5 p% n& `  K' N$ q
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //íÆíì¸′óÃêä3ö
2 e, a7 R, D- W1 c# ^    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; //éÏà-
, I! ~8 Z; m- C$ a1 w    GPIO_Init(GPIOA,&GPIO_InitStructure);* ~+ A" q! o% I7 @' b* U; {% s6 a
        
5 S' ^' S8 R, o* ~9 w+ z    GPIO_PinAFConfig(GPIOA,GPIO_PinSource11,GPIO_AF_0);
6 B- s0 C& [3 R/ p8 x* p6 e    GPIO_PinAFConfig(GPIOA,GPIO_PinSource12,GPIO_AF_0); , ^4 X2 I; {, G
    7 \$ m# B$ [) U) u6 Q' y) f
  //CAN1¿úμÄÏà1ØÅäÖà  
! S3 J- u; b( }    CAN_InitStructure.CAN_TTCM=DISABLE;  
- H+ p5 L: C* [4 k% h    CAN_InitStructure.CAN_ABOM=ENABLE;4 D+ k' {& w/ o7 s* N4 ?
    CAN_InitStructure.CAN_AWUM=DISABLE;
+ r4 y2 F/ i( Q2 N/ q; p    CAN_InitStructure.CAN_NART=DISABLE;
8 L9 a2 H% e; u/ \* y    CAN_InitStructure.CAN_RFLM=DISABLE;6 U% d, L4 w2 v) U, b' Z9 @2 T
    CAN_InitStructure.CAN_TXFP=ENABLE; : X, H6 Q7 W( K. Z3 ^
    CAN_InitStructure.CAN_Mode=CAN_Mode_Normal;3 X1 R' R1 l7 J7 h
    CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;
4 C% u# ^& w# Y! t* q) i! l    CAN_InitStructure.CAN_BS1=CAN_BS1_10tq;7 K9 l  O' G7 Z+ v0 @
    CAN_InitStructure.CAN_BS2=CAN_BS2_7tq;8 _  E9 U+ _0 _" Q
    CAN_InitStructure.CAN_Prescaler=4;
: [. b9 V" U8 [& d    / L* d, [2 t- W( g, P
//    CAN_InitStructure.CAN_Mode = CAN_Mode_LoopBack;           // »Ø»·2aêÔÄ£ê½
7 q0 N2 ?9 g/ h
& [5 |) l$ h5 h6 T    CAN_Init(CAN,&CAN_InitStructure);% e7 W7 o- G, a, g2 q) d
    /* CAN filter init */# ^  n  r2 i) J) c. E" M
    CAN_FilterInitStructure.CAN_FilterNumber=0;      / ^* Y0 p; B2 S% v
    CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;    % _+ o1 z; n; e$ r% {
    CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;
1 F; J5 W2 @% t% v    CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;/ _& Q: L2 C: ?7 f+ r9 W
    CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;
% g+ A9 P; m2 N7 P    CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;
8 a& t# M5 f/ N: U. ~2 K    CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000;, a9 j1 U4 E9 r3 T: R4 U. D" ], \
    CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_Filter_FIFO0;
5 T( l9 e  Q0 D- j+ a    CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;
" G; Y1 D5 b( U0 U  F! t+ e    CAN_FilterInit(&CAN_FilterInitStructure);
+ M$ q+ R& f6 b& \5 ~  
; N- e# p$ l7 [% C0 V' g+ s2 h         TxMessage.StdId = 0x12;
; E3 o4 v9 {3 }: e2 [        TxMessage.ExtId = 0x12;) t+ \( o4 Y, }) w) G* J! c3 C
        TxMessage.RTR = CAN_RTR_Data;           //0x00000000;. a; z2 U/ W" c% s6 u0 z' k6 K
        TxMessage.IDE = CAN_ID_STD;                    //0x00000000;& h8 ?) R2 r, \9 l3 B) O; O
        TxMessage.DLC = 8;
) W& m4 V1 L5 M# @& G, `5 t% R        TxMessage.Data[0] = 0x01;
( f+ {6 f  s. U7 v5 x        TxMessage.Data[1] = 0x00;+ s8 d, C0 q/ T
        TxMessage.Data[2] = 0x00;9 f: ]% @/ m1 G. N
        TxMessage.Data[3] = 0x00;
" G4 ]/ T& X0 F* K$ @2 _        TxMessage.Data[4] = 0x00;
& M$ Y: X: o& Z6 Y        TxMessage.Data[5] = 0x00;/ x- @* Z$ K' a8 ?
        TxMessage.Data[6] = 0x00;
( e* d. U- t+ b. N6 R+ V# p        TxMessage.Data[7] = 0x00;4 ]  a$ |( D! B' P% l
        while (1)
( v; |3 M1 [( b+ N1 X) I/ ?& K3 {        {
, m- T; j4 M, w4 M' z6 s                GPIO_WriteBit(GPIOB,GPIO_Pin_9,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_9)));
; l) c0 b1 T& \8 x                ii = 0x3fffff;
- F8 s8 j" v. P1 p                CAN_Transmit(CAN, &TxMessage);) v/ }9 C; O4 b+ }& H
               while(ii--);' [" M$ ?" e; X5 q' n+ @' u
                / [$ b  }9 X" H+ x2 ?
        }
/ l' i2 k, U5 _& Y8 P4 s}2 f# c- E1 v* m

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-26 15:19 , Processed in 0.078125 second(s), 23 queries , Gzip On.

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

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

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