main.c
#include #include /********************************************************************************************************* * 宏定義 *********************************************************************************************************/ extern void BSP_Init (void); void USART_OUT(USART_TypeDef* USARTx, uint8_t *Data,...); int fputc(int ch,FILE *f); char *itoa(int value, char *string, int radix); /********************************************************************************************************* * 名 稱 :main * 功能描述 : 初始化STM32 * 輸入參數 : none * 返回參數 : none. * 作 者 : * 修 改 :(日期、修改人名、修改原因) * 特殊說明 : (特殊功能說明,例如:有參數檢查等) *********************************************************************************************************/ int main(void) { BSP_Init(); //不同通道設置不同占空比 TIM_SetCompare2(TIM3,3); TIM_SetCompare3(TIM3,50); while(1){} } bsp.c #include void RCC_Configuration(void); /* 初始化系統時鐘 */ void TIM3_Configuration(void); /* PWM配置 */ void BSP_Init (void) { RCC_Configuration(); /* 初始化系統時鐘 */ TIM3_Configuration(); /* PWM配置 */ } /********************************************************************************************************* * 名 稱 :RCC_Configuration * 功能描述 : 初始化系統時鐘 * 輸入參數 : none * 返回參數 : none. * 作 者 : * 修 改 :(日期、修改人名、修改原因) * 特殊說明 : (特殊功能說明,例如:有參數檢查等) *********************************************************************************************************/ void RCC_Configuration(void) { SystemInit(); /*APB1 36MHz 配置timer時會倍頻為72mhz,具體有哪些在此時鐘上可跳進去查看*/ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3 , ENABLE); /*APB2 72MHz 配置timer時會倍頻為144mhz,具體有哪些在此時鐘上可跳進去查看*/ RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE); } /********************************************************************************************************* * 名 稱 :GPIO_Configuration * 功能描述 : 初始化IO口配置 * 輸入參數 : none * 返回參數 : none. * 作 者 : * 修 改 :(日期、修改人名、修改原因) * 特殊說明 : (特殊功能說明,例如:有參數檢查等) ******************* **************************************************************************************/ void GPIO_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; /* LED燈的配置 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //通用推挽輸出模式 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //輸出模式最大速度50MHz GPIO_Init(GPIOA, &GPIO_InitStructure); } /********************************************************************************************************* * 名 稱 :TIM3_Configuration * 功能描述 : 初始化定時器 PWM * 輸入參數 : none * 返回參數 : none. * 作 者 : * 修 改 :(日期、修改人名、修改原因) * 特殊說明 : (特殊功能說明,例如:有參數檢查等) *********************************************************************************************************/ void TIM3_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; TIM_OCInitTypeDef TIM_OCInitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; //通道3 PB0 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //復用推挽輸出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); //通道2 PA7 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //復用推挽輸出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); /* Time base configuration */ TIM_TimeBaseStructure.TIM_Period = (100- 1); //arr 設置在下一個更新事件裝入活動的自動重裝載寄存器周期的值 TIM_TimeBaseStructure.TIM_Prescaler = (40-1); //分頻 psc 影響周期 TIM_TimeBaseStructure.TIM_ClockDivision = 0; //時鐘分割,一般寫0 TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //設置為向上計數模式 TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); /* PWM1 Mode configuration: Channel1*/ TIM_OCInitStructure.TIM_Pulse =0; // 初始值 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //pwm模式1 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //使能通道 TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //高電平 //通道3 TIM_OC3Init(TIM3, &TIM_OCInitStructure); TIM_OC3PreloadConfig(TIM3, TIM_OCPreload_Enable); //使能或者失能TIMx在CCR3上的預裝載寄存器 //通道2 TIM_OC2Init(TIM3, &TIM_OCInitStructure); TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable); //使能或者失能TIMx在CCR3上的預裝載寄存器 TIM_Cmd(TIM3, ENABLE); /* 使能 */ }
上一篇:STM32入門學習之ADC(STM32F030F4P6基于CooCox IDE)
下一篇:Stm32f103rct6-LED閃爍
推薦閱讀
史海拾趣
隨著公司產品的不斷成熟和市場的不斷擴大,Asia Electronics Ind Co Ltd積極尋求市場拓展的機會。公司加強與國際知名企業的合作,通過參加國際電子展、建立海外銷售渠道等方式,不斷提升品牌知名度和影響力。同時,公司還注重品牌形象的塑造,通過統一的品牌標識、宣傳資料等,增強消費者對品牌的認知度和信任度。
在激烈的市場競爭中,CQR SECURITY公司不斷探索創新服務模式。公司推出了基于云計算的安全服務平臺,為客戶提供更加便捷、高效的安全服務。同時,CQR還加強了對客戶需求的深入了解,量身定制安全解決方案,滿足客戶的個性化需求。這種創新服務模式不僅提升了客戶滿意度,還為CQR帶來了更多的商業機會。
盡管Crystek公司在發展過程中取得了顯著的成就,但也面臨著一些挑戰和困難。例如,隨著行業競爭的加劇和市場需求的不斷變化,公司需要不斷調整戰略方向和產品結構以適應市場的變化。同時,公司還需要加強人才培養和團隊建設,提升員工的技能水平和創新能力。然而,Crystek公司始終保持著積極進取的態度和勇于面對挑戰的精神,相信在未來的發展中,公司將繼續保持領先地位并創造更加輝煌的業績。
這五個故事展示了Crystek公司在電子行業中的發展歷程和取得的成就。從創業起步到技術創新、市場拓展、部門專業化以及應對挑戰和未來發展,Crystek公司始終保持著積極進取的精神和不斷創新的態度,為電子行業的發展做出了重要貢獻。
為了進一步拓展業務版圖,千志電子開始進軍國際市場。2006年,千志電子在香港設立了千志電子(香港)有限公司,將其作為國際服務據點重心之一。這一舉措使千志電子能夠更好地了解國際市場需求和趨勢,加強與國外客戶的聯系和合作。同時,千志電子還積極參加國際展覽和論壇,展示其優質產品和先進技術,提高了品牌知名度和國際影響力。
千志電子于1986年由董事長陳初志先生在臺灣創立,起初專注于生產各類型插件式電阻。隨著業務的不斷發展,公司意識到拓展更廣闊市場的重要性。1996年,千志電子進軍中國市場,在深圳設立了千志電子(深圳)有限公司,這一舉措標志著公司開始走向國際化。深圳作為中國改革開放的前沿陣地,為千志電子提供了豐富的資源和廣闊的市場空間,為其后續的發展奠定了堅實基礎。
千志電子一直注重技術研發和創新,不斷推動產業升級。公司擁有一支專業的研發團隊和先進的研發設備,致力于電阻技術的研發和創新。通過與高校和科研機構的合作,千志電子不斷引進新技術、新工藝和新材料,提高產品的技術含量和附加值。同時,千志電子還注重知識產權的保護和管理,積極申請專利和注冊商標,維護了自身的合法權益。
本帖最后由 paulhyde 于 2014-9-15 09:23 編輯 我產生的調制信號頻率150K,在不混頻的情況下可以直接通過功率放大器進行電感耦合嗎???兩個電感線圈的距離為5CM 具體功率放大器怎樣設計??? … 查看全部問答∨ |
|
virtual BOOL ExtTextOut ( int x, int y, UINT nOptions, LPCRECT lpRect, LPCTSTR lpszString, UINT nCount, LPINT lpDxWidths ); 想請教一下參數nOptions是否有效?本人通過測試,覺得ETO-CLIPPED、ETO-OPAQUE、NULL三者之間沒有 ...… 查看全部問答∨ |
|
VC++關于directshow圖像旋轉90度輸出花屏的問題 VC++關于directshow圖像旋轉90度輸出花屏的問題 我在transfilter對圖像做了一個90度的旋轉,再傳給第三個filter,發現圖像是花屏,解析度為176x144 如果解析度為高,寬相等就是正常的(如:240x240) 請問是什么原因?… 查看全部問答∨ |
|
急救 !!!!!!!!!!!!萬里求救!傳感器 單片機LED顯示設計電路圖 通過485 通信到485接口接收數據然后用(單片機)LED顯示 氣體濃度在0-0.5%是綠燈亮 0.5%-1%黃燈亮 蜂鳴器響且響的頻率慢 >=1%紅燈亮 蜂鳴器響且響的頻率快 用AT89c2051做 ...… 查看全部問答∨ |
|
我問ST工程師的郵件:~~: 你好! 我需要用到BEEP功能,可是設定寄存器后跑程序,發現BEEP寄存器并沒有改變.OPTION里面我有把PD4設成BEEP功能,OPTION里的PRSC設成(16MHZ TO 128KHZ P ...… 查看全部問答∨ |
我在用LPC11C14寫IAP在線升級程序時,將用戶程序的向量表復制到RAM的0地址,再通過重映射寄存器重映射到FLASH的0地址,實現了用戶程序調用中斷,但現在要把CAN API的程序加上去,而CAN API要占用RAM的0x1000 0050-0x1000&n ...… 查看全部問答∨ |