你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F0工作在Smartcard模式时不能接收

[复制链接]
uniqueeefocus35 提问时间:2016-12-8 15:43 /
我用的单片机是STM32F072C8。在Smartcard模式下可以发送数据,但不能接收,中断、查询都接收不到。我怀疑是设置上有问题,但找不到原因。我没有用固件库,是对寄存器进行直接设置的。哪位大侠在Smartcard模式下设置过,请指点一下。谢谢!!
收藏 2 评论9 发布时间:2016-12-8 15:43

举报

9个回答
中山无雪 回答时间:2016-12-12 18:29:33
农夫水0533 发表于 2016-12-12 09:49
你的代码没仔细看,对于7816来说的话最好用示波器或者逻辑分析仪跟踪一下。 ...

跟踪一下最好,估计是时序或命令串有问题

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

uniqueeefocus35 回答时间:2016-12-9 14:17:31
我的具体设置如下:
//激活外围设备时钟
  RCC->AHBENR=RCC_AHBENR_GPIOCEN|RCC_AHBENR_GPIOBEN|RCC_AHBENR_GPIOAEN;
  RCC->APB2ENR|=RCC_APB2ENR_USART1EN;
  RCC->APB1ENR|=RCC_APB1ENR_USART2EN;

//IO口模式设置
  GPIOA->MODER=0x691A55A5;  //A14、A13、A9、A8、A3、A2为AF,A11为输入,其余输出
  GPIOB->MODER=0x55555A95;  //B5、B4、B3为AF,其余为输出
  GPIOC->MODER=0x51555555;  //C13为输入,其余为输出
  
  //IO口输出类型
  GPIOA->OTYPER=GPIO_OTYPER_OT_9;  //TX1(A9)为开漏
  
  //IO输入模式设置
  GPIOA->PUPDR=GPIO_PUPDR_PUPDR11_0|GPIO_PUPDR_PUPDR9_0|GPIO_PUPDR_PUPDR3_0
|GPIO_PUPDR_PUPDR2_0;  //A11、A9、A3、A2上拉
  GPIOC->PUPDR|=GPIO_PUPDR_PUPDR13_0;  //C13上拉

  //设置口线AF功能
  GPIOA->AFR[0]=0x00001100; //A2-TX2,A3-RX2
  GPIOA->AFR[1]=0x00000011; //A8-SCK1,A9-TX1
  
  //设置口线速度
  GPIOA->OSPEEDR|=GPIO_OSPEEDR_OSPEEDR8;
  GPIOC->OSPEEDR=0xFFFFFFFF;

//USART1设置
  USART1->CR1&=(uint32_t)~(1<<0); //禁能USART1
  USART1->BRR=14318180/9600; //9600,14.31818M
  USART1->GTPR=(uint32_t)((1<<11)|(1<<10)|(1<<1));  //保护时间12BIT,4分频
  USART1->CR3=USART_CR3_SCEN;               //设置SmartCard模式
  USART1->CR2=USART_CR2_STOP_1|USART_CR2_STOP_0|USART_CR2_CLKEN;   
//1.5位停止位,使能CLK时钟
  USART1->CR1=USART_CR1_M|USART_CR1_PCE|USART_CR1_TE|USART_CR1_RXNEIE;  //9位数据字长,使能校验
  USART1->CR1|=USART_CR1_PEIE;
  USART1->CR1|=USART_CR1_UE;    //使能USART1
  NVIC_EnableIRQ(USART1_IRQn);  //27
  while((USART1->ISR&USART_ISR_TC)!=USART_ISR_TC);
shuolang126 回答时间:2016-12-12 07:17:45
建议先采用官方固件库中的例程跑一遍,如果能正常通信,则通过断点方式查看寄存器状态数据和你不使用固件库的区别,从而确定是否使你设置的问题!

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

无薪税绵 回答时间:2016-12-12 08:15:44
这个不懂,只能帮楼主加人气了。
z258121131 回答时间:2016-12-12 09:04:42
下载一个固件库看一下啊
斜阳__ 回答时间:2016-12-12 09:11:58
没用过,绑定
斜阳__ 回答时间:2016-12-12 09:12:26
帮顶                     
农夫水0533 回答时间:2016-12-12 09:49:31
你的代码没仔细看,对于7816来说的话最好用示波器或者逻辑分析仪跟踪一下。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

lulugl 回答时间:2016-12-12 15:56:09
期待楼主更上一层楼
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版