stm32单片机端口映射_STM32F103C8T6 can端口映射
之前在网上找了一个STM32F103C8T6关于can通信的例子,直接烧录,can不能使用,
使用示波器在VP230前后端查看没有波形,
先介绍板子硬件资源:
HSE时钟:8MHz;
MCU : STM32F103C8T6
CAN:一路;
在软件的配置中找不到任何原因,使用USB-CAN分析仪不能识别波特率,怀疑是不是因为波特率设置不对,
是不是硬件设计出现错误,
查找手册 《stm32f103c8t6》
can的发送接收引脚是在PA11 PA12,(注意:can和其他的复用)
我找的那个程序,我把原理找到看了一下,can的发送接收是在 PB8 PB9,怀疑是我的板子硬件出错了,
我的板子硬件原理图上是PA11 PA12,是按照手册来设计的,
既然硬件没有问题,应该是软件问题,看看GPIO的配置:
/*CAN GPIO*/
void CAN_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;/*GPIOB*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB, ENABLE);/*CAN1*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);/*Configure CAN pin: RX*/ //PB8
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IPU; //
GPIO_Init(GPIOB, &GPIO_InitStructure);/*Configure CAN pin: TX*/ //PB9
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_Init(GPIOB,&GPIO_InitStructure);//#define GPIO_Remap_CAN GPIO_Remap1_CAN1
GPIO_PinRemapConfig(GPIO_Remap1_CAN1, ENABLE);
}
明白了,原来是把can的发送接收端口映射到了PB8、9上面了,
修改后的代码:
void CAN_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;/*GPIOA*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOA, ENABLE);/*CAN1*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);/*Configure CAN pin: RX*/ //PA11
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IPU; //
GPIO_Init(GPIOA, &GPIO_InitStructure);/*Configure CAN pin: TX*/ //PA12
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode= GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);//#define GPIO_Remap_CAN GPIO_Remap1_CAN1//GPIO_PinRemapConfig(GPIO_Remap1_CAN1, ENABLE);//取消端口映射 craigtao 2014-4-4
}
这回编译,烧录,示波器检测,,哇,波形出来了,
耶稣爱你, craigtao 2014-4-4
stm32单片机端口映射_STM32F103C8T6 can端口映射相关推荐
- 单片机搭建环境烧录方法_万物互联-stm32单片机简介、烧录、编程及其项目环境搭建...
万物互联-stm32单片机简介.烧录.编程 前言:stm32单片机这里给出简单介绍,给不了解的朋友普及下硬件端的基本知识,叙述的较为简单,想深入研究的朋友可以去一些官方网站.论坛.博客汲取知识.最下端 ...
- STM32学习笔记(三)端口复用与重映射(stm32c8t6)
记录一下学习过程 1.端口复用 STM32有很多内置外设,这些外设的外部引脚是与GPIO复用的.默认情况下,这些GPIO口只能作为普通的IO口输入输出,把一个GPIO口的引脚复用为内置外设的功能引脚, ...
- 【STM32】端口复用和重映射,完全重映射,部分重映射
文章目录 端口复用 端口复用函数总结 端口重映射 完全重映射 完全重映射函数总结 部分重映射 端口复用 当 PA9,PA10 引脚作为串口 1 的 TX,RX 引脚使用的时候,那就是端口复用(相较于作 ...
- 小知识(1):关于端口的复用及重映射
复用 一个 GPIO如果可以复用为内置外设的功能引脚,那么当这个 GPIO 作为内置外设使用的时候,就叫做复用. 复用的步骤: 使能相应GPIO 端口时钟. 复用的外设时钟使能. 配置端口模式.初始化 ...
- 80端口被屏蔽解决方法,80端口穿透之NAT端口映射技术
介绍一种NAT端口映射技术应用,达到80端口穿透目的,解决80端口被屏蔽的问题,也是80端口被屏蔽解决方法中经常用到的. 80端口穿透类似80端口转发,因为80端口被屏蔽,在数据层面来说是不能直接访问 ...
- centos7开启tcp6_centos中docker映射出来的端口被tcp6监听,而没有被tcp监听导致ip+端口无法进行访问...
如图,我通过docker构建容器时,映射出来的端口是8081,但是通过ip+8081无法访问,在检查了一遍安全组规则是否开放,以及百度以后查到是由于端口被tcp6监听,没有被tcp监听到导致的. 按照 ...
- 利用Docker 映射到主机端口 32768 ,通过浏览器访问web应用失败
利用Docker 映射到主机端口 32768 ,通过浏览器访问WEB应用失败 在runoob学习docker操作的过程中,前面操作都没问题,访问web时失败了! 原因:这里的地址不正确,因为Docke ...
- 域名如映射为 IP: 端口
第1步:域名转化为IP 购买域名后,在域名解析中设置. 参考如下: 这里: 记录类型A:表示指向IPv4的地址. 记录值:外网 IP 第2步:域名映射为 IP: 端口 这里假设IP 17.232.34 ...
- 把USB打印机映射到LPT端口
把USB打印机映射到LPT端口(pos小票机测试成功) 2010-12-23 18:11:00| 分类: 編程 | 标签: |字号大中小 订阅 注释: 在DOS命令行下运行以下命令(以下为示例,根据 ...
- docker port如何增加端口_Docker 动态添加端口映射解决思路
Docker 动态添加端口映射? docker 创建容器的时候,我们如果使用docker的桥接网络(bridge)那么一般需要暴露容器内一些端口到宿主机上,也就是容器与宿主机间的端口映射.最近很多的人 ...
最新文章
- STM32调试过程中,读保护,写保护造成的无法擦写芯片问题的解决办法和相关讨论
- copy vs. uninitialized_copy
- 向seaborn传递matplotlib绘图参数,精细地控制seaborn输出图形
- Java 200+ 面试题补充③ Dubbo 模块
- Dropping Balls UVA - 679(二叉树的遍历)
- JavaScript断点调试高级教程
- 生活中的一些哲理名言
- C1认证:植物大战僵尸存档详解
- c语言帮助记忆单词的小程序,帮助记忆单词的书课堂活动微信小程序软件_速记背单词...
- Fuchsia Friday:一切皆实体
- 利用R语言如何判别和分类
- 亚马逊测评自养号环境系统的介绍和用法
- 数据增广:旋转,缩放,平移以及错切
- u盘怎么格式化?格式化后如何恢复数据?4个详细教程
- 如何有效开展小组教学_如何有效的开展小组合作 用小组合作活动推进教学...
- SpringMVC数据绑定全面示例(复杂对象,数组等)
- 微软2012年7月最有价值专家(MVP)名单 51CTO二十二位用户当选
- 微信自动抢红包android实现
- 记录解决Android11 OTA升级后卡死在开机动画页面的问题
- Active Directory用户登录报告