久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1853|回復: 1
打印 上一主題 下一主題
收起左側

stm8s105k4單片機讀寫寄存器操作

[復制鏈接]
跳轉到指定樓層
樓主
求助,想實現一個如圖:芯片-單片機-計算機,單片機用spi讀取芯片的寄存器,然后發送到計算機,現在單片機和計算機之間的通訊已經解決了,單片機用spi讀寄存器的代碼一直有問題,單片機為stm8s105,附件為附帶的spi例程,軟件用的是iar
  1. #include "spi.h"
  2. #include "ALL_Includes.h"
  3. /*********************************************
  4. 函數功能:SPI初始化
  5. 輸入參數:無
  6. 輸出參數:無
  7. 備    注:無
  8. *********************************************/
  9. void SPI_Init(void)
  10. {   
  11.     SPI_IOConfig();
  12.   
  13.     SPI->CR1 |= BIT(2)|BIT(1)|BIT(0);//主設備,高位先發,2分頻
  14.    
  15.     SPI->CR2 |= BIT(1)|BIT(0);//nss軟件管理  
  16.     SPI->CR2 &=~(BIT(2)|BIT(7));//雙線單向模式、全雙工
  17.    
  18.     SPI->CR1 |= BIT(6); //使能SPI BIT(6)
  19.    
  20. }


  21. /*********************************************
  22. 函數功能:SPI讀寫函數
  23. 輸入參數:Data:需要寫入的數據
  24. 輸出參數:無
  25. 備    注:無
  26. *********************************************/
  27. u8 SPI_RW(u8 Data)
  28. {

  29.    while(!(SPI->SR&0X02));//等待發送緩沖區為空
  30.    SPI->DR =Data;
  31.    
  32.    while(!(SPI->SR&0X01));//等待接收緩沖區為非空
  33.    return (SPI->DR);      
  34. }


  35. /*********************************************
  36. 函數功能:SPI IO初始化
  37. 輸入參數:無
  38. 輸出參數:無
  39. 備    注:無
  40. *********************************************/
  41. void SPI_IOConfig(void)
  42. {
  43.      //設置SPI_SCK為輸出
  44.     SPI_SCK_GPIO->DDR  |=  SPI_SCK ;//輸出模式
  45.     SPI_SCK_GPIO->CR1  |=  SPI_SCK ;//推挽輸出
  46.    
  47.      //設置PC6SPI_MOSI為輸出
  48.     SPI_MOSI_GPIO->DDR |=  SPI_MOSI;//輸出模式
  49.     SPI_MOSI_GPIO->CR1 |=  SPI_MOSI;//推挽輸出
  50.   
  51.       //設置SPI_CS為輸出
  52.     SPI_CS_GPIO->DDR   |=  SPI_CS;//輸出模式
  53.     SPI_CS_GPIO->CR1   |=  SPI_CS;//推挽輸出
  54.    
  55.        //設置SPI_MISO為輸入
  56.     SPI_MISO_GPIO->DDR &= ~SPI_MISO;//輸入模式
  57.     SPI_MISO_GPIO->CR1 |=  SPI_MISO;//上拉輸入

  58. }
復制代碼

#include"delay.h"
/***********************
函數功能:us延時
輸入參數:無
輸出參數:無
備    注:粗略延時
***********************/
void delay_us(void)
{
    asm("nop"); //一個asm("nop")函數經過示波器測試代表100ns
    asm("nop");
    asm("nop");
    asm("nop");
}
/***********************
函數功能:ms延時
輸入參數:無
輸出參數:無
備    注:粗略延時
***********************/
void delay_ms(unsigned int time)
{
    unsigned int i;
    while(time--)  
    for(i=900;i>0;i--)
    delay_us();
}


  1. #include "led.h"
  2. #include "ALL_Includes.h"

  3. /***********************
  4. 函數功能:初始化LED
  5. 輸入參數:無
  6. 輸出參數:無
  7. 備    注:無
  8. ***********************/
  9. void LED_Init(void)
  10. {
  11.       //設置IO口為輸出
  12.     LEDPort->DDR |= LEDPin;//輸出模式
  13.     LEDPort->CR1 |= LEDPin;//推挽輸出
  14.    
  15. }

  16. /***********************
  17. 函數功能:LED開
  18. 輸入參數:無
  19. 輸出參數:無
  20. 備    注:無
  21. ***********************/
  22. void LED_ON(void)
  23. {
  24.     LEDPort->ODR &=~LEDPin;//LED置低
  25. }

  26. /***********************
  27. 函數功能:LED開
  28. 輸入參數:無
  29. 輸出參數:無
  30. 備    注:無
  31. ***********************/
  32. void LED_OFF(void)
  33. {
  34.     LEDPort->ODR |= LEDPin;//LED置高
  35. }
復制代碼



SHTAC62_U5P8BP8L[{7@30C.png (63.27 KB, 下載次數: 33)

SHTAC62_U5P8BP8L[{7@30C.png

SPI.zip

411.57 KB, 下載次數: 2

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:883242 發表于 2023-9-26 20:39 | 只看該作者
沒有IAR for STM8,你換個編譯器吧。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩在线视频免费观看 | 中文字幕在线一区二区三区 | 最新伦理片 | 国产精品一区在线 | 国产乱码精品一区二区三区忘忧草 | 人人鲁人人莫人人爱精品 | 91视频在线网站 | 亚洲一区国产精品 | www.久久久| 91大片| 久久高清精品 | 中文字幕不卡视频在线观看 | 精品综合网 | 日日操操 | 亚洲成人久久久 | 成人精品视频在线 | 午夜精品久久久久久久99黑人 | 欧美区在线 | 偷拍第一页 | 免费永久av| 亚洲精品影院 | 国产伦精品一区二区三区视频金莲 | 亚洲国产成人精品久久 | 狠狠草视频 | 欧美日韩在线观看一区 | 国产乱码精品1区2区3区 | 欧美黄页| 午夜视频免费在线观看 | 在线观看欧美日韩视频 | 欧美精品一区二区三区在线播放 | 久久精品视频网站 | 性欧美精品一区二区三区在线播放 | 美女天天操 | 一区二区在线观看免费视频 | 成人免费视频网站在线看 | 国产成人精品网站 | 日日干夜夜操 | 亚洲天堂一区 | 请别相信他免费喜剧电影在线观看 | 国产成人综合一区二区三区 | 91国内视频在线 |