@@ -10,7 +10,7 @@ use panic_halt as _;
10
10
use bxcan:: filter:: Mask32 ;
11
11
use cortex_m_rt:: entry;
12
12
use nb:: block;
13
- use stm32f1xx_hal:: { can :: Can , pac, prelude:: * } ;
13
+ use stm32f1xx_hal:: { gpio :: Floating , pac, prelude:: * } ;
14
14
15
15
#[ entry]
16
16
fn main ( ) -> ! {
@@ -27,15 +27,15 @@ fn main() -> ! {
27
27
let mut afio = dp. AFIO . constrain ( ) ;
28
28
29
29
let mut can1 = {
30
- #[ cfg( not( feature = "connectivity" ) ) ]
31
- let can = Can :: new ( dp. CAN1 , dp. USB ) ;
32
- #[ cfg( feature = "connectivity" ) ]
33
- let can = Can :: new ( dp. CAN1 ) ;
30
+ let gpioa = dp. GPIOA . split ( ) ;
31
+ let rx = gpioa. pa11 ;
32
+ let tx = gpioa. pa12 ;
34
33
35
- let mut gpioa = dp. GPIOA . split ( ) ;
36
- let rx = gpioa. pa11 . into_floating_input ( & mut gpioa. crh ) ;
37
- let tx = gpioa. pa12 . into_alternate_push_pull ( & mut gpioa. crh ) ;
38
- can. assign_pins ( ( tx, rx) , & mut afio. mapr ) ;
34
+ let can = dp. CAN1 . can :: < Floating > (
35
+ #[ cfg( not( feature = "connectivity" ) ) ]
36
+ dp. USB ,
37
+ ( tx, rx, & mut afio. mapr ) ,
38
+ ) ;
39
39
40
40
// APB1 (PCLK1): 8MHz, Bit rate: 125kBit/s, Sample Point 87.5%
41
41
// Value was calculated with http://www.bittiming.can-wiki.info/
@@ -50,12 +50,10 @@ fn main() -> ! {
50
50
51
51
#[ cfg( feature = "connectivity" ) ]
52
52
let _can2 = {
53
- let can = Can :: new ( dp. CAN2 ) ;
54
-
55
- let mut gpiob = dp. GPIOB . split ( ) ;
56
- let rx = gpiob. pb5 . into_floating_input ( & mut gpiob. crl ) ;
57
- let tx = gpiob. pb6 . into_alternate_push_pull ( & mut gpiob. crl ) ;
58
- can. assign_pins ( ( tx, rx) , & mut afio. mapr ) ;
53
+ let gpiob = dp. GPIOB . split ( ) ;
54
+ let can = dp
55
+ . CAN2
56
+ . can :: < Floating > ( ( gpiob. pb6 , gpiob. pb5 , & mut afio. mapr ) ) ;
59
57
60
58
// APB1 (PCLK1): 8MHz, Bit rate: 125kBit/s, Sample Point 87.5%
61
59
// Value was calculated with http://www.bittiming.can-wiki.info/
0 commit comments