匿名
未登录
登录
丢石头百科
搜索
查看“交叉开关的使用说明”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
交叉开关的使用说明
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<table border="0" cellpadding="0" cellspacing="0" style="color: rgb(72, 61, 139); font-family: Arial, 新宋体, 微软雅黑; font-size: 12px;" width="780"><tbody><tr><th scope="col" valign="top"> 以C8051F320为例,优先权交叉开关(如下图)为每个I/O功能分配优先权,从优先权最高的UART0开始。当一个数字资源被选择时,尚未分配的端口引脚中的最低位被分配给该资源(UART0总是使用引脚4和5)。如果一个端口引脚已经被分配,则交叉开关在为下一个被选择的资源分配引脚时将跳过该引脚。此外,交叉开关还将跳过在PnSKIP寄存器中被置'1'的那些位所对应的引脚。PnSKIP寄存器允许软件跳过那些被用作模拟输入、特定功能或GPIO的引脚。 注意:如果一个端口引脚被一个外设使用而不经过交叉开关,则该引脚在PnSKIP寄存器中的对应位应被置'1'。这种情况适用于P0.7(如果使用VREF)、P0.3和/或P0.2(如果外部振荡器电路被使能)、P0.6(如果ADC被配置为使用外部转换启动信号CNVSTR)和任何被选择为ADC或比较器输入的引脚。交叉开关跳过那些已经被分配的引脚,移向下一个未被分配的引脚。图一列出了没有引脚被跳过(P0SKIP, P1SKIP, P2SKIP = 0x00)的优先权交叉开关译码表;图二列出了XTAL1(P0.2)脚和XTAL2(P0.3)脚被跳过情况下(P0SKIP = 0x0C)的交叉开关优先权译码表。<table border="0" cellpadding="0" cellspacing="0" width="700"><tbody><tr><td align="center">[[File:C8051F_1_10.jpg]]图一:晶振端口未被跳过</td></tr></tbody></table> <table border="0" cellpadding="0" cellspacing="0" width="700"><tbody><tr><td align="center">[[File:C8051F_1_11.jpg]]图二:晶振端口未被跳过</td></tr></tbody></table> 交叉开关配置的优先列表如下 [[File:C8051F_1_12.jpg]] 下面将举例说明其运用方法: A先生使用外部晶振同时使用SPI,原本SPI的MOSI与NSS位是在P0.2与P0.3但由于A先生使用外部晶振,而外部晶振是固定在P0.2与P0.3,因此SPI的MOSI与NSS位只能往后推移,由图二可得,最近的位置为P0.4与P0.5。在配置完成后各功能所对应的引脚为,SPI:SCK→P0.0,MISO→P0.1,MOSI→P0.4,NSS→P0.5;晶振位:XTAL1→P0.2,XTAL2→P0.3 代码如下: /***外部12M晶振设置***/ unsigned char i; P0SKIP |= 0x0C; P0MDIN &= ~0x0C; OSCXCN |= 0x67; for(i=0;i<255;i++); //Wait 1ms for initialization while((OSCXCN & 0x80) == 0); CLKSEL |= 0x01; OSCICN = 0x00; /***SPI初始化设置***/ XBR0 |= 0x02; P0SKIP |= 0x80; P0MDOUT |= 0x31; SPI0CFG = 0x40; SPI0CN = 0x01; SPI0CKR = 0x05; 注:若需要了解更多型号的信息,请查看各型号的 PDF 。</th></tr></tbody></table>
返回至
交叉开关的使用说明
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志