色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SPI RTC與摩托羅拉DSP接口

星星科技指導員 ? 來源:ADI ? 作者:ADI ? 2023-01-10 11:45 ? 次閱讀

本應用筆記提供了用于將串行外設接口(SPI)RTC與內置SPI接口模塊的摩托羅拉DSP連接的硬件和軟件示例。本示例使用摩托羅拉DSP演示套件作為電路的基礎。

DS1306引腳配置

引腳配置

描述

DS1306實時時鐘(RTC)可通過3線或SPI?接口與微控制器(μC)或數字信號處理(DSP)單元連接。本應用筆記介紹了如何將DS1306連接至內置SPI接口模塊的摩托羅拉DSP。DS1305也可用于此應用。該電路使用摩托羅拉DSP56F800DEMO演示板和CodeWarrior IDE。

使用示例軟件

示例軟件是從空白項目開始開發的。按照摩托羅拉套件安裝指南(教程:創建 CodeWarrior 項目)中的說明進行操作,了解詳細信息。在main.c中添加本應用筆記中包含的代碼。

操作

該程序使用GPIO端口來控制DS1306上的CE。軟件初始化DSP中的SPI控制器模塊,將時間和日期寫入DS1306。然后,軟件循環讀取時間和日期。DS1305和DS1306支持SPI模式1和3。

圖1所示為該電路的原理圖。該電路包括連接到摩托羅拉演示板的子卡。請注意,圖1中的電路包括幾個帶SPI接口的RTC。一次只能使用一個RTC,軟件僅支持DS1306。該軟件如圖2所示。

圖 1.DSP56F800演示板的子卡。

圖2.演示代碼。

/* File: main.c */
/* This example program was developed using the Motorola
56F800 Demo Board Kit. Follow the kit instalation guide
for creating a CodeWarrior Project. Use the shell of the
new project for this example. Note: This program is for
example only and is not supported by Dallas Semiconductor
Maxim. */

#include "port.h"
#include "stdio.h"
#include "stdlib.h"

/*******************************************************
* Main program for use with Embedded SDK
*******************************************************/

extern sampleASM (void);

void reset_spi(void);
void wbyte_spi(unsigned char);
unsigned char rbyte_spi(void);

#define      REG_BASE 0x0000
#define      SPI_BASE 0x0F20
#define      GPIOB_BASE 0x0FC0

#define      SPSCR *(volatile UWord16 *)(SPI_BASE + 0)
#define      SPDSR *(volatile UWord16 *)(SPI_BASE + 1)
#define      SPDRR *(volatile UWord16 *)(SPI_BASE + 2)
#define      SPDTR *(volatile UWord16 *)(SPI_BASE + 3)

#define      GPIO_B_PUR *(volatile UWord16 *)(GPIOB_BASE + 0)
#define      GPIO_B_DR *(volatile UWord16 *)(GPIOB_BASE + 1)
#define      GPIO_B_DDR *(volatile UWord16 *)(GPIOB_BASE + 2)
#define      GPIO_B_PER *(volatile UWord16 *)(GPIOB_BASE + 3)

void main (void)
{
unsigned char      min=0x58, sec=0x59, hr=0x09, dow=0x04, date=0x23,
                         mon=0x10, yr=0x03;

      reset_spi();

      GPIO_B_DR = 0;              // disble RTC - CS low

      GPIO_B_DR = 0x0008;         // enable RTC - CS high
      wbyte_spi(0x8f);            // control register write address
      rbyte_spi();                // dummy read
      wbyte_spi(0);               // disable write protect
      rbyte_spi();
      GPIO_B_DR = 0;              // disble RTC - CS low

      GPIO_B_DR = 0x0008;         // enable RTC - CS high
      wbyte_spi(0x80);            // select seconds register write address
      rbyte_spi();                // dummy read
      wbyte_spi(sec);             // seconds register data

      rbyte_spi();
      wbyte_spi(min);             // minutes register
      rbyte_spi();
      wbyte_spi(hr);              // hours register
      rbyte_spi();
      wbyte_spi(dow);             // day of week register
      rbyte_spi();
      wbyte_spi(date);            // date register
      rbyte_spi();
      wbyte_spi(mon);             // month register
      rbyte_spi();
      wbyte_spi(yr);              // year register
      rbyte_spi();
      GPIO_B_DR = 0;              // disble RTC - CS low

      while(1)
      {
             GPIO_B_DR = 0x0008;         // enable RTC - CS high
             wbyte_spi(0);               // seconds register read address
             rbyte_spi();                // dummy read
             wbyte_spi(0);
             sec = rbyte_spi();          // read seconds register
             wbyte_spi(0);
             min = rbyte_spi();          // ditto minutes
             wbyte_spi(0);
             hr = rbyte_spi();           // and so on
             wbyte_spi(0);
             dow = rbyte_spi();
             wbyte_spi(0);
             date = rbyte_spi();
             wbyte_spi(0);
             mon = rbyte_spi();
             wbyte_spi(0);
             yr = rbyte_spi();

             GPIO_B_DR = 0; // disable RTC - CS low
      }
      return;
}

//SPSCR
//15  14  13  12  11  10  9  8  7  6  5  4  3  2  1
0
// r MSB SPRF ERRIE  ovrf modf spte modfen spr1    spr0    sprie spmstr    cpol cpha
spe  spite

void reset_spi()
{
int   val;
      SPSCR = 0x0096;             // SPR0, SPMSTR, CPHA, SPE
      SPDSR = 0x0007;             // 8-bit size

      SPSCR &= 0xfffd;            // clear spe, resets SPI (partial)
      SPSCR |= 0x0002;            // set spe, new values take effect

      GPIO_B_PER = 0x00f3;        // use GPIOB3 as CS for RTC
      GPIO_B_DDR = 0x000c;        // direction is output
}

void wbyte_spi( unsigned char wbyte)     // ------ write one byte -------
{
      while (!(SPSCR & 0x0200));         // wait for transmitter empty flag

      SPDTR = wbyte;
}

unsigned char rbyte_spi(void)            // -------- read one byte ----------
{
      while (!(SPSCR & 0x2000));         // wait for receiver full flag

      return(SPDRR);
}

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • dsp
    dsp
    +關注

    關注

    556

    文章

    8148

    瀏覽量

    355690
  • 接口
    +關注

    關注

    33

    文章

    8963

    瀏覽量

    153316
  • RTC
    RTC
    +關注

    關注

    2

    文章

    613

    瀏覽量

    68406
收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    摩托羅拉c261數據線接口定義圖

    摩托羅拉c261數據線接口定義圖 
    發表于 06-16 08:20

    摩托羅拉證實裁員計劃

             摩托羅拉日前已經證實了業界長期傳聞的公司裁員計劃。公司
    發表于 06-18 10:49

    摩托羅拉對講維修手冊

    摩托羅拉對講維修手冊  [hide]摩托羅拉對講維修.rar[/hide]
    發表于 10-14 09:14

    蘋果愿向摩托羅拉付專利授權費

    11月1日消息,據國外媒體報道,蘋果向威斯康辛州一家法庭表示,愿意向谷歌旗下摩托羅拉移動付費以獲得該公司擁有的“標準要素”無線專利授權,但費率不超過每MAX3232EUE+T銷售1臺iPhone 1
    發表于 11-01 16:50

    摩托羅拉PowerPC 5XX

    摩托羅拉PowerPC 5XX
    發表于 03-25 10:05

    摩托羅拉M-Core系列

    摩托羅拉M-Core系列
    發表于 05-04 23:59

    68008摩托羅拉單板電腦

    描述68008摩托羅拉單板電腦
    發表于 07-13 07:23

    Motorola摩托羅拉(摩托羅拉) C118手機中文用戶

    Motorola摩托羅拉(摩托羅拉)  C118手機中文用戶手冊(使用說明書)
    發表于 12-17 17:31 ?81次下載

    Motorola摩托羅拉(摩托羅拉) C139手機中文用戶

    Motorola摩托羅拉(摩托羅拉)  C139手機中文用戶手冊(使用說明書)
    發表于 12-17 17:35 ?42次下載

    Motorola摩托羅拉(摩托羅拉) E680I手機中文用

    Motorola摩托羅拉(摩托羅拉)  E680I手機中文用戶手冊(使用說明書)
    發表于 12-17 17:46 ?45次下載

    摩托羅拉VE70

    摩托羅拉VE70  現在所有手機廠商都會推出多種不同色彩的產品以吸引消費者,摩托羅拉公司自然也不例外。日前摩托羅拉公司
    發表于 01-19 10:09 ?1073次閱讀

    摩托羅拉手機案例分析

    1摩托羅拉歷史 2 風雨中的摩托羅拉 3摩托羅拉的品牌策略 4摩托羅拉前景展望
    發表于 05-05 17:07 ?0次下載
    <b class='flag-5'>摩托羅拉</b>手機案例分析

    摩托羅拉Wilder正式發布

    目前已有眾多傳聞稱,摩托羅拉公司將于本月推出其全新高端智能手機——摩托羅拉Droid 3。不過在摩托羅拉Droid 3正式亮相前,摩托羅拉公司則為我們帶來了一款入門級手機——
    發表于 06-10 18:13 ?972次閱讀

    接口SPI RTC摩托羅拉DSP

    本應用筆記提供了一個例子的硬件和軟件接口的串行外設接口SPIRTC摩托羅拉DSP,有一個內
    發表于 04-12 16:29 ?18次下載
    <b class='flag-5'>接口</b>的<b class='flag-5'>SPI</b> <b class='flag-5'>RTC</b>與<b class='flag-5'>摩托羅拉</b><b class='flag-5'>DSP</b>

    DS1620與摩托羅拉SPI總線接口

    與DS1620數字溫度傳感器IC的通信通過簡單的3線接口實現。此接口摩托羅拉 SPI 之間存在許多差異?接口。然而,只需對DS1620進行
    的頭像 發表于 05-16 11:28 ?1134次閱讀
    DS1620與<b class='flag-5'>摩托羅拉</b><b class='flag-5'>SPI</b>總線<b class='flag-5'>接口</b>
    主站蜘蛛池模板: 麻豆国产自制在线观看 | 99久久无码一区人妻A片蜜 | 美女网站免费久久久久久久 | YELLOW在线观看高清视频免费 | xxxx俄罗斯1819| 国产精品人妻无码久久久奥特曼 | 国产成人精品123区免费视频 | 黄色亚洲片 | 麻豆出品国产AV在线观看 | 国产精品v片在线观看不卡 国产精品v欧美精品v日韩 | 超碰v | 麻豆AV久久AV盛宴AV | 久久久97丨国产人妻熟女 | 欧美一区二区VA毛片视频 | 亚洲欧洲日产国码久在线 | 国产午夜精品一区二区理论影院 | 久久精品国产福利电影网 | 国产跪地吃黄金喝圣水合集 | 无码任你躁久久久久久老妇双奶 | 迅雷成人论坛 | 久久毛片网站 | 欧美亚洲日本日韩在线 | 97国产精品视频在线观看 | 亚洲AV久久久噜噜噜噜 | 极品少妇高潮啪啪无码吴梦 | 精品一卡2卡三卡4卡乱码精品视频 | 999在线观看精品免费 | 91欧洲在线视精品在亚洲 | 亚洲免费片 | 无码AV熟妇素人内射V在线 | 蜜芽无码亚洲资源网站 | 久久久影院亚洲精品 | 蜜桃狠狠色伊人亚洲综合网站 | 国产精品久久人妻拍拍水牛影视 | 精品一区二区三区在线成人 | 亚洲精品国产高清嫩草影院 | 秋霞成人午夜鲁丝一区二区三区 | 色噜噜噜亚洲男人的天堂 | 精品久久久久久久国产潘金莲 | 亚洲国产成人99精品激情在线 | 妹妹我要色 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品