打印

关于STM8S 复用脚的设置

[复制链接]
8719|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
电子write_cai|  楼主 | 2012-2-27 11:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我第一次玩STM8。所以有的问题的可能考虑的不是很仔细。  今天碰到一个端口复用的设置,OSCIN OSCOUT 的脚和PA1,PA2复用了。 我设置PA2为上拉输入 下降沿中断的时候,它是进不了中断向量的。 当我设置PA6为上拉输入 下降沿中断的时候是可以进入中断向量的。 所以我怀疑是OSCOUT的原因, 请问这个我该怎么设置。

以上是一个问题

下面是我设置时钟切换的时候,我怎么知道我切换完成了,我示波器该量哪个脚可以看出频率发生变化了哦, 示波器测量上要注意什么? 需要接什么电阻吗?


以上我是用的ST的库赖完成编程的。

麻烦网友帮忙看下,在线等。。。
使用IAR的编译工具,IC是STM8S105C6。  开发板是ST的一套设备。
ST-LINK 调试、
沙发
电子write_cai|  楼主 | 2012-2-27 11:15 | 只看该作者
整个代码如下。
#include "stm8s.h"
#include "stm8s_gpio.h"
#include "stdio.h"

#pragma vector=0x05
__interrupt void PortA_InterruptHandler(void)
{

  GPIO_DeInit(GPIOB);

}
/************************************************/
/************ CLK SWITCH CODE*******************/
void ClkSelectInit()
{
   ErrorStatus SwitchClkFlag;
   CLK_DeInit();  
   CLK_ClockSwitchCmd(ENABLE);       //ENABLE AUTOMATIC SWITCH CLOCKSOURCE
   SwitchClkFlag=CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSI, ENABLE, CLK_CURRENTCLOCKSTATE_ENABLE);
   if(SwitchClkFlag==SUCCESS)
   CLK_HSICmd(ENABLE);
}

/***********************************************/
/************GPIOA init CODE*******************/
void GpioInit()
{
   GPIO_DeInit(GPIOA);                                        //PortA DATA Reset Init;
   GPIO_Init(GPIOA, GPIO_PIN_1, GPIO_MODE_OUT_PP_LOW_SLOW);   //  GPIOA bit 1 is output
   GPIO_Init(GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT);         //GPIOA BIT 2 external interrupt  pull-up resistant.
   GPIO_WriteHigh(GPIOA, GPIO_PIN_1);                       //port bit 1 is high level;
}

/*********************************************/
/***********GPIO Interrupt Setting Code************/
void GpioInterruptInit()
{
   EXTI_DeInit();
   EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOA, EXTI_SENSITIVITY_FALL_ONLY);//setting portA have a interrupt,fall trigger.   
}

/********************************************/
/**********Main *********Code***************/
int main(void)
{
   ClkSelectInit();         
   GpioInit();
   GpioInterruptInit();
   enableInterrupts();
   while(1);
   
}

使用特权

评论回复
板凳
电子write_cai|  楼主 | 2012-2-27 11:19 | 只看该作者
程序没有设置信号源的时候,它默认运行的时钟源是HSI/8吗 ? 那要是切换外部时钟是不是还需要进行设置?

使用特权

评论回复
地板
香水城| | 2012-2-27 12:11 | 只看该作者
程序没有设置信号源的时候,它默认运行的时钟源是HSI/8吗 ? 那要是切换外部时钟是不是还需要进行设置?
电子write_cai 发表于 2012-2-27 11:19


YES.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:只要你是拼多多新用户就可以加我微信,微信号772880135验证您是新用户后立刻微信转你20元。欢迎朋友加我微信,多年21ic用户,诚信为本!

157

主题

1534

帖子

3

粉丝