@@ -10,7 +10,7 @@ use panic_halt as _;
1010use bxcan:: filter:: Mask32 ;
1111use cortex_m_rt:: entry;
1212use nb:: block;
13- use stm32f1xx_hal:: { can :: Can , pac, prelude:: * } ;
13+ use stm32f1xx_hal:: { gpio :: Floating , pac, prelude:: * } ;
1414
1515#[ entry]
1616fn main ( ) -> ! {
@@ -27,15 +27,15 @@ fn main() -> ! {
2727 let mut afio = dp. AFIO . constrain ( ) ;
2828
2929 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 ;
3433
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+ ) ;
3939
4040 // APB1 (PCLK1): 8MHz, Bit rate: 125kBit/s, Sample Point 87.5%
4141 // Value was calculated with http://www.bittiming.can-wiki.info/
@@ -50,12 +50,10 @@ fn main() -> ! {
5050
5151 #[ cfg( feature = "connectivity" ) ]
5252 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 ) ) ;
5957
6058 // APB1 (PCLK1): 8MHz, Bit rate: 125kBit/s, Sample Point 87.5%
6159 // Value was calculated with http://www.bittiming.can-wiki.info/
0 commit comments