极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6756|回复: 0

I2C CoX样例

[复制链接]
发表于 2012-8-4 17:21:50 | 显示全部楼层 |阅读模式
本帖最后由 liamjeal 于 2012-8-4 17:28 编辑

基于cox的代码在各个厂商的M0/M3芯片上移植,几乎是零修改,只需要根据具体硬件连接在头文件里面进行pin等相关配置,就可以完全复用, 因此基于cox开发的外围驱动(LCD, SD, Sensor等等)都是完全复用的,基于cox开发的arduino shield驱动也都是可复用的。并且这不影响用户应用层代码的特性,因为cox还提供了芯片特有特性的APIs。
详细可以到github上查看各个系列各个芯片下面外设的样例,也可以到CoIDE下面直接添加使用。

下面分享一段代码片段,一个基于cox的I2C代码样例:
  1. void I2CExample(void)                                                         
  2. {                                                                           
  3.     //      
  4.     // 设置系统时钟,用主时钟,外部8M晶振      
  5.   //                                                               
  6.     xSysCtlClockSet(72000000, xSYSCTL_OSC_MAIN | xSYSCTL_XTAL_8MHZ);  
  7.   
  8.     //
  9.     // 以I2C_BASE为参数使能I2C外设
  10.   //        
  11.     xSysCtlPeripheralEnable2(ulMaster);        
  12.     xSysCtlPeripheralReset2(ulMaster);                                
  13.      
  14.     //
  15.     // 使能GPIO,AFIO
  16.     //            
  17.     xSysCtlPeripheralEnable2(xGPIO_PORTC_BASE);               
  18.     xSysCtlPeripheralEnable(SYSCTL_PERIPH_AFIO);                     
  19.      
  20.     //
  21.     // I2C功能管脚配置,参数是管脚功能名,Short pin
  22.     //            
  23.     xSPinTypeI2C(I2C0SCK, PC4);                          
  24.     xSPinTypeI2C(I2C0SDA, PC5);                                       

  25.     //
  26.     // I2C初始化并使能
  27.   //         
  28.     xI2CMasterInit(ulMaster, 400000);           
  29.     xI2CMasterEnable(ulMaster);
  30.      
  31.     //
  32.     // 非阻塞的发送地址和第一个数据
  33.   //   
  34.     xI2CMasterWriteS1(ulMaster, 0x12, 'a', xfalse);

  35.     //
  36.     // 非阻塞的发送数据
  37.   //
  38.     xI2CMasterWriteS2(ulMaster, 'b', xfalse);      
  39.     xI2CMasterWriteS2(ulMaster, 'c', xfalse);
  40.     xI2CMasterWriteS2(ulMaster, 'd', xfalse);  
  41.      
  42.     //
  43.     // 阻塞性的读取地址为0x12从机上的数据
  44.   //
  45.     xI2CMasterReadBufS1(ulMaster, 0x12, ucTemp, 5, xtrue);            
  46.         
  47. }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2022-12-2 21:05 , Processed in 0.057996 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表