关于STM8S 复用脚的设置

[复制链接]
9448|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 | 显示全部楼层
整个代码如下。
  1. #include "stm8s.h"
  2. #include "stm8s_gpio.h"
  3. #include "stdio.h"

  4. #pragma vector=0x05
  5. __interrupt void PortA_InterruptHandler(void)
  6. {

  7.   GPIO_DeInit(GPIOB);

  8. }
  9. /************************************************/
  10. /************ CLK SWITCH CODE*******************/
  11. void ClkSelectInit()
  12. {
  13.    ErrorStatus SwitchClkFlag;
  14.    CLK_DeInit();  
  15.    CLK_ClockSwitchCmd(ENABLE);       //ENABLE AUTOMATIC SWITCH CLOCKSOURCE
  16.    SwitchClkFlag=CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSI, ENABLE, CLK_CURRENTCLOCKSTATE_ENABLE);
  17.    if(SwitchClkFlag==SUCCESS)
  18.    CLK_HSICmd(ENABLE);
  19. }

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

  29. /*********************************************/
  30. /***********GPIO Interrupt Setting Code************/
  31. void GpioInterruptInit()
  32. {
  33.    EXTI_DeInit();
  34.    EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOA, EXTI_SENSITIVITY_FALL_ONLY);//setting portA have a interrupt,fall trigger.   
  35. }

  36. /********************************************/
  37. /**********Main *********Code***************/
  38. int main(void)
  39. {
  40.    ClkSelectInit();         
  41.    GpioInit();
  42.    GpioInterruptInit();
  43.    enableInterrupts();
  44.    while(1);
  45.    
  46. }
 楼主| 电子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

粉丝
快速回复 在线客服 返回列表 返回顶部