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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11243|回復: 2
收起左側

STM8 TIME1做正交編碼器輸入測試

[復制鏈接]
ID:80436 發表于 2015-5-21 22:22 | 顯示全部樓層 |閱讀模式
  • //                           _ooOoo_
  • //                          o8888888o
  • //                          88" . "88
  • //                          (| -_- |)
  • //                          O\  =  /O
  • //                       ____/`---'\____
  • //                     .'  \\|     |//  `.
  • //                    /  \\|||  :  |||//  \
  • //                   /  _||||| -:- |||||-  \
  • //                   |   | \\\  -  /// |   |
  • //                   | \_|  ''\---/''  |   |
  • //                   \  .-\__  `-`  ___/-. /
  • //                 ___`. .'  /--.--\  `. . __
  • //              ."" '<  `.___\_<|>_/___.'  >'"".
  • //             | | :  `- \`.;`\ _ /`;.`/ - ` : | |
  • //             \  \ `-.   \_ __\ /__ _/   .-` /  /
  • //        ======`-.____`-.___\_____/___.-`____.-'======
  • //                           `=---='
  • //
  • //
  • //        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  • //                   佛祖保佑       永不死機
  • //                   心外無法       法外無心

  * @file    Project/main.c
  * @author  MCD Application Team
  * @version V2.1.0
  * @date    18-November-2011
  * @brief   Main program body
  ******************************************************************************
  * @attention
  *
  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  *
  * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>
  ******************************************************************************
  */


/* Includes ------------------------------------------------------------------*/
#include "stm8s.h"
#include <stdio.h>
#include <math.h>
/* Private defines -----------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/
#define LED_GPIO_PORT  GPIOA
#define LED_GPIO_PIN  GPIO_PIN_3
void Delay(uint16_t nCount)
{
  /* Decrement nCount value */
  while (nCount != 0)
  {   
    nCount--;
  }
}
uint8_t i=0;
/* Private defines -----------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/
void Init_GPIO(void)
{
GPIO_Init(LED_GPIO_PORT, LED_GPIO_PIN, GPIO_MODE_OUT_PP_LOW_FAST);

}
void Init_Timer1(void)
{
TIM1_TimeBaseInit(0,TIM1_COUNTERMODE_UP ,65535,0);
TIM1_EncoderInterfaceConfig(TIM1_ENCODERMODE_TI1, TIM1_ICPOLARITY_RISING, TIM1_ICPOLARITY_RISING);

TIM1_ARRPreloadConfig(ENABLE);

TIM1_Cmd(ENABLE);

}
void Init_Timer4(void)
{
/*TIM4_UpdateDisableConfig(ENABLE);//允許更新事件
TIM4_ARRPreloadConfig(ENABLE);//自動重裝
TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);//中斷配置,更新中斷
TIM4_SetCounter(0xff);//計數器初值
TIM4_SetAutoreload(0xFF);//計數器自動重裝的初值
TIM4_PrescalerCoL(TIM4_PRESCALER_128, TIM4_PSCRELOADMODE_UPDATE);//預分頻值
*/
TIM4_TimeBaseInit(TIM4_PRESCALER_128, 0xff);
  /* Clear TIM4 update flag */
  TIM4_ClearFlag(TIM4_FLAG_UPDATE);

/* Enable update interrupt */
TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);
TIM4_Cmd(ENABLE);
}
void Init_UART1(void)
{
UART1_DeInit();
UART1_Init((u32)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TX_ENABLE);
//UART1_Cmd(ENABLE);
}
void Send(uint8_t dat)
{
  while(( UART1_GetFlagStatus(UART1_FLAG_TXE)==RESET));

UART1_SendData8(dat);

}
void UART_SendString( char *p)
{
while(*p!=0x00)       //判斷字符串是否發送完畢
{
Send(*p++);
}
}
void sendswj_int (int datasend)//上位機發送格式
{

sprintf(send_int,"%d",abs(datasend));
if(datasend>0)
UART_SendString("+");
else
UART_SendString("-");
UART_SendString(send_int);
//UART_SendString(0,"b");
UART_SendString("\r\n");

}
void main(void)
{
  int ecode=0;
  int temp=0;
  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
  Init_UART1();
  Init_GPIO();
// Init_Timer4();
  Init_Timer1();
  enableInterrupts();
  while (1)
  {
    ecode=(TIM1->CNTRH<<8)|TIM1->CNTRL;
    if(ecode!=temp)
    sendswj_int(ecode);
    temp=ecode;
  }

}

#ifdef USE_FULL_ASSERT

/**
  * @brief  Reports the name of the source file and the source line number
  *   where the assert_param error has occurred.
  * @param file: pointer to the source file name
  * @param line: assert_param error line source number
  * @retval : None
  */
void assert_failed(u8* file, u32 line)
{
  /* User can add his own implementation to report the file name and line number,
     ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */

  /* Infinite loop */
  while (1)
  {
  }
}
#endif

/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/













回復

使用道具 舉報

ID:639665 發表于 2020-11-12 11:17 | 顯示全部樓層
那個像,太牛了!
回復

使用道具 舉報

ID:81138 發表于 2021-1-27 18:19 | 顯示全部樓層
剛剛學習STM8希望能講的詳細點
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本免费在线观看 | 久视频在线| 五月婷婷六月丁香 | 在线视频日本 | 欧美一区二区三区在线播放 | 天天网综合 | 欧美日韩国产中文字幕 | 日韩av在线网址 | 在线观看视频一区 | 天天干天天操天天爽 | www.日韩欧美 | 久久香蕉精品 | 亚洲激情欧美激情 | 涩涩在线 | 国产精品777| 成人免费看片在线观看 | 亚洲三区在线观看 | 中文亚洲字幕 | 黄色三级免费 | 国产精品久久久久久久久久久久午夜片 | 超碰91在线| 男人天堂手机在线 | 久久香蕉精品 | 免费看av的网址 | 日韩黄色片 | 毛片www| 久草资源在线观看 | 四虎成人精品 | 亚洲免费a | 激情影院在线观看 | 麻豆av片 | 成人免费毛片网站 | 韩国三级av | 久久精品视频网 | 黄色三级大片 | 久久免费精品 | 午夜在线视频观看 | 日韩成人免费 | 在线欧美 | 午夜在线观看视频 | 午夜视频在线免费观看 |