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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版